Функция JavaScript для подсчета слогов в слове: методы и пример

Вот функция JavaScript, которая подсчитывает количество слогов в слове:

function countSyllables(word) {
  word = word.toLowerCase().trim();
  if (word.length <= 3) return 1;
  let count = 0;
  let vowels = "aeiouy";
  let lastWasVowel = false;
  for (let i = 0; i < word.length; i++) {
    if (vowels.includes(word[i])) {
      if (!lastWasVowel) {
        count++;
        lastWasVowel = true;
      }
    } else {
      lastWasVowel = false;
    }
  }
  if (word.endsWith("e")) count--;
  return count || 1;
}

Пояснение функции:

  1. Функция принимает на вход слово.
  2. Он преобразует слово в нижний регистр и удаляет все начальные и конечные пробелы.
  3. Если длина слова равна 3 или меньше, оно считается состоящим из 1 слога и возвращает 1.
  4. Он инициализирует переменную count для отслеживания количества слогов.
  5. Он определяет строку гласных и логическую переменную lastWasVowel, чтобы отслеживать, был ли предыдущий символ гласной.
  6. Он перебирает каждый символ в слове.
  7. Если символ является гласной, а предыдущий символ не был гласной, он увеличивает переменную countи устанавливает для lastWasVowelзначение true.
  8. Если символ не является гласной, для lastWasVowelустанавливается значение false.
  9. Если слово заканчивается на «е», переменная countуменьшается, чтобы учесть непроизносимую букву «е» в конце некоторых слов.
  10. Он возвращает окончательное значение count, которое представляет количество слогов в слове.