Как написать логику удаления гласных из строки, не используя регулярные выражения, только цикл for of

function removeVowels(doc) {
  let result = '';
  let vowels = 'aeiouy';
  
  for (let letter of doc) {
    if (letter == vowels) {
      result = doc
    }

    return result
  }
}

let resFunc = removeVowels('Abracadabra');

console.log(resFunc);


Ответы (3 шт):

Автор решения: HTO HOT

Метод indexOf

function removeVowels(doc) {
  let result = '';
  let vowels = 'aeiouy'
  for(let letter of doc){
       //// Условие: если в алфавите гласных букв(переменная vowels) нет буквы (letter), то мы её добавляем к результирующей переменной.
      if(vowels.indexOf(letter)<0  ){
        result += letter
      }
   }
   return result
  
}
let resFunc = removeVowels('Abracadabra')
console.log(resFunc)

→ Ссылка
Автор решения: EzioMercer

Использую new Set, чтобы каждый раз не тратить время на поиски и вынес его за функцию, чтобы не создавать каждый раз:

const vowels = new Set('aeiouyAEIOUY');

const removeVowels = (str) => {
  let result = '';
  
  for (const symbol of str) {
    if (vowels.has(symbol)) continue;

    result += symbol;
  }
  
  return result;
}

const resFunc = removeVowels('Abracadabra');

console.log(resFunc);

→ Ссылка
Автор решения: Vladyslav Tymoshenko

Вот к такому решению я пришёл.

function removeVowels(doc) {
  let result = '';
  let vowels = 'aeiouyAEIOUY'
  for (let letter of doc) {

    if (!vowels.includes(letter)) {

      result += letter
    }
  }
  return result

}

let resFunc = removeVowels('Abracadabra');

console.log(resFunc);

→ Ссылка