
Панграмма — это предложение, которое содержит все буквы алфавита. Напишем функцию с названием “pangrams”, которая будет принимать одну строку s в качестве входных данных.
Цель этой функции – определить, является ли данное предложение панграммой или нет. Если это не панграмма, функция вернёт not pangram
. Если это панграмма, функция вернёт pangram
. Вот пример:
“The quick brown fox jumps over the lazy dog”
В приведенном выше примере жирные буквы – это все буквы из алфавита. В этом случае функция вернет pangram
.
“We promptly judged antique ivory buckles for the prize”
В этой строке присутствуют все буквы, кроме x, поэтому функция вернёт not pangram
.
Давайте переведем это в код.
let alphabet = "abcdefghijklmnopqrstuvwxyz";
let regex = /\s/g;
let lowercase = s.toLowerCase().replace(regex, "");
Переменная alphabet
– это строка, которая содержит все буквы алфавита.
Переменная regex
— регулярное выражение. Шаблон \s
, который здесь используется, ищет все пробелы в строке.
В переменной lowercase
для простоты проверки панграммы надо сделать строчными все буквы. Кроме того, удалить все пробелы в строке. Используя метод replace()
с помощью регулярного выражения, все вхождения пробела будут заменены ничем, ""
.
Далее следует перебрать строку с алфавитом, используя цикл for
.
Внутри оператора if
используется indexOf()
, чтобы найти индекс каждой буквы в алфавите в строке lowercase
. Если indexOf
не может найти букву, цикл завершится с помощью оператора return
и вернёт not pangram
. Если цикл for
доходит до конца, это означает, что indexOf
нашёл все буквы алфавита в нашей строке. Тогда функция вернёт pangram
.
return "pangram";
И это всё. Вот весь код: