Счетчик гласных в JavaScript: методы подсчета гласных в строке

Чтобы создать счетчик гласных в JavaScript, вы можете использовать различные методы. Вот несколько подходов:

Метод 1: использование регулярного выражения

function countVowels(text) {
  const vowels = text.match(/[aeiou]/gi);
  return vowels ? vowels.length : 0;
}
const text = "Hello, how are you?";
const vowelCount = countVowels(text);
console.log(vowelCount); // Output: 7

Метод 2: использование манипуляций с массивами и строками

function countVowels(text) {
  const vowels = ['a', 'e', 'i', 'o', 'u'];
  let count = 0;
  for (let i = 0; i < text.length; i++) {
    if (vowels.includes(text[i].toLowerCase())) {
      count++;
    }
  }
  return count;
}
const text = "Hello, how are you?";
const vowelCount = countVowels(text);
console.log(vowelCount); // Output: 7

Метод 3: использование сокращения

function countVowels(text) {
  const vowels = ['a', 'e', 'i', 'o', 'u'];
  return text.split('').reduce((count, char) => {
    if (vowels.includes(char.toLowerCase())) {
      count++;
    }
    return count;
  }, 0);
}
const text = "Hello, how are you?";
const vowelCount = countVowels(text);
console.log(vowelCount); // Output: 7

Метод 4. Использование оператора расширения и фильтра ES6

function countVowels(text) {
  const vowels = ['a', 'e', 'i', 'o', 'u'];
  const characters = [...text.toLowerCase()];
  const vowelCount = characters.filter(char => vowels.includes(char)).length;
  return vowelCount;
}
const text = "Hello, how are you?";
const vowelCount = countVowels(text);
console.log(vowelCount); // Output: 7