Задача:
Создайте функцию, которая принимает строку и возвращает количество заглавных букв в ней. JavaScript.
План:
- Алгоритм решения
- Код программы
- Примеры входных данных и ожидаемых результатов
- Объяснение кода программы
- Блок-схема
Алгоритм решения:
-
Разбить входную строку на массив символов с помощью метода
split('')
. -
Использовать метод
filter()
для создания нового массива, содержащего только заглавные буквы:- Для каждого символа
char
проверить условие:char >= 'A' && char <= 'Z'
. - Это условие оставляет только символы, ASCII-код которых находится в диапазоне заглавных букв латинского алфавита.
- Для каждого символа
-
Вернуть длину отфильтрованного массива с помощью свойства
length
, что даст количество заглавных букв в исходной строке.
Код программы на языке JavaScript:
Код JavaScript
function countUppercaseLetters(str) {
return str.split('').filter(char => char >= 'A' && char <= 'Z').length;
}
Примеры входных данных и ожидаемых результатов:
Входные данные: "Hello World"
Ожидаемый результат: 2
Входные данные: "UPPERCASE"
Ожидаемый результат: 9
Входные данные: "lowercase"
Ожидаемый результат: 0
Входные данные: "MiXeD CaSe"
Ожидаемый результат: 4
Входные данные: "123!@#"
Ожидаемый результат: 0
Входные данные: ""
Ожидаемый результат: 0
Входные данные: "OpenAI GPT-4"
Ожидаемый результат: 5
Объяснение кода программы:
-
function countUppercaseLetters(str) {
Объявление функции с именем `countUppercaseLetters`, которая принимает один параметр `str` (строку для анализа).
-
str.split('')
Метод `split('')` разбивает входную строку на массив отдельных символов.
-
.filter(char => char >= 'A' && char <= 'Z')
Метод `filter()` применяет стрелочную функцию к каждому символу массива. Функция проверяет, находится ли символ в диапазоне заглавных букв ASCII (от 'A' до 'Z'). Возвращает новый массив, содержащий только заглавные буквы.
-
.length
Свойство `length` возвращает количество элементов в отфильтрованном массиве, что соответствует количеству заглавных букв в исходной строке.
-
return
Оператор `return` возвращает полученное значение (количество заглавных букв) как результат работы функции.