Это второй алгоритм, о котором я пишу, и он о функции, которая возвращает true, если переданная строка является панграммой, и false, если нет.

Во-первых, нам нужно выяснить, что такое панграмма.

Согласно Google, панграмма это:

Теперь, когда мы знаем, что такое панграмма, нам нужно создать несколько тестов, чтобы проверить, верна ли наша работа.

Вот так просто… Достаточно двух тестов, чтобы проверить поведение нашей функции.

Логика этого алгоритма на самом деле очень проста. Нам нужно проверить, можно ли найти какую-либо букву массива алфавита в переданной строке. Если есть какое-то письмо, которое не может быть найдено, нам нужно вернуть false.

Для этого нам понадобятся два массива:

  • массив алфавита
  • массив только с буквами из ввода

Начнем с массива алфавита:

const abc = "abcdefghijklmnopqrstuvwxyz".split("");

Для другого массива я использовал другой подход:

Здесь я просто перебираю каждое слово и создаю только один большой массив со всеми буквами.

Следующий шаг — цикл по массиву abc.

Это основная часть нашей функции. Я создал цикл, который будет выполняться для любой буквы массива алфавита и выполнять короткую проверку. Если буква по какому-либо индексу не может быть найдена в arrayOfLetters, результирующий массив будет установлен в false.

Прежде чем начать этот цикл, нам нужно определить переменную result и установить для нее значение true.

После цикла нам нужно только вернуть значение результата, и наш алгоритм работает отлично, и он должен выглядеть так:

Наши испытания проходят! Ура!