Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Вопрос по задачи JS

ivan batareinyi Знаток (332), на голосовании 1 месяц назад
 let str = "hello my friend" 
for (let i = 0; i < str.length; i++) {
if (str[i] == "A" || "a" || "E" || "e" || "I" || "i" || "O" || "o" || "U" || "u") {
str[i] = ''
}
}
По итогу должно выводить ту же строку но без гласных, но не работает. В чем ошибка
Голосование за лучший ответ
Данил Ласый Просветленный (32639) 2 месяца назад
ОТ балды писал? Смешно....
ivan batareinyiЗнаток (332) 2 месяца назад
Объясните в чем ошибка
V̲i̲s̲t̲a̲s̲t̲e̲r̲ Искусственный Интеллект (263740) 2 месяца назад
должно выводить ту же строку
ничего тут не должно выводить, и невозможно изменить строку, и сравниваешь ты неверно..

вот так работает
let str = "hello my friend";
let result = ""; // Создаем пустую строку для результата

// Перебираем каждый символ в исходной строке
for (let i = 0; i < str.length; i++) {
// Проверяем, является ли текущий символ гласной
if (!("AEIOUaeiou".includes(str[i]))) {
// Если не является гласной, добавляем его к результату
result += str[i];
}
}

// Выводим результат
console.log(result);
ivan batareinyiЗнаток (332) 2 месяца назад
спасибо за разъяснение
Андрей Устинов Мастер (2150) 2 месяца назад
 str[i] == "A" || "a" || "E" || "e" || "I" || "i" || "O" || "o" || "U" || "u") 
Это сравнение буквально означает следующее
 str[i] == "A" || true || true || true || true || true || true || true || true || true) 
Нужно для каждого кейса выполнять сравнение
 if (str[i] === "A" || str[i] === "a" || str[i] === "E" И так далее 
Так же в JS строки являются иммутабельными. Ты не можешь их так изменить str[i] = ''
Вот более лаконичное решение
 const str = 'hello my friend'
const result = str.replace(/[aeiouAEIOU]/g, ' ')
console.log(result)
Лайт Ягами Искусственный Интеллект (309429) 2 месяца назад
> if (str[i] == "A" || "a" || "E" || "e" || "I" || "i" || "O" || "o" || "U" || "u") {

Открой для себя регулярные выражения и не пиши такой дичи.
 str.replace(/[aeiou]/gi, '') 
Похожие вопросы