function vowelsAndConsonants(s) {
var vowels = ['a','e','i','o','u'];
for(let i =0; i<s.length; i++){
if(vowels.indexOf(s[i]) > -1 ){
console.log(s[i]);
}
}
for(let j = 0; j<s.length; j++){
if(vowels.indexOf(s[j]) < 0){
console.log(s[j]);
}
}
}
Приведенный выше код распечатывает гласные, а затем согласные ввода.
У меня проблемы с пониманием того, как конкретно .indexOf()
работает в этом случае.
Я понимаю, что .indexOf()
ищет массив и возвращает позицию искомого элемента, но почему следующее условие if(vowels.indexOf(s[i]) > -1)
возвращает только гласные?
- Насколько я понимаю, если
.indexOf()
возвращает -1, это означает, что совпадение не найдено. В этом случае if(vowels.indexOf(s[i]) > -1)
будет означать, что если найдено совпадение, мы должны выполнить код, поскольку он больше -1? - Опять же, в этом случае
if(vowels.indexOf(s[j]) < 0)
будет означать, что если совпадение не найден выполнить все, что находится внутри оператора if.
Может ли кто-нибудь любезно объяснить логи c и привести простой пример? Я думаю, что я получаю логи c, но в то же время я думаю, что нет.