
Панграмма — это предложение, которое содержит все буквы алфавита. Напишем функцию с названием “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";
И это всё. Вот весь код:


