我试图创建一个函数来检查一个字母是否是元音。
为什么我总是说它不是元音?
function isItAVowel(letter) {
var vowel = ["a", "e", "i", "o", "u"];
for (var i=0; i < vowel.length; i++) {
if (letter == vowel[i]) {
document.getElementById("paragraph").innerHTML = "vowel";
} else {
document.getElementById("paragraph").innerHTML = "not vowel";
}
}
}
isItAVowel("i");
最佳答案
因为一旦找到匹配,就需要从循环中分离并退出函数。
正确处理错误的方法:
function isItAVowel(letter) {
var vowel = ["a", "e", "i", "o", "u"];
for (var i=0; i < vowel.length; i++) {
if (letter == vowel[i]) {
document.getElementById("paragraph").innerHTML = "vowel";
return;
}
}
document.getElementById("paragraph").innerHTML = "not vowel";
}
isItAVowel("i");
因为每个人都在发布有趣的不同方式来实现这一点,下面是一种完全不使用函数、执行速度最快的方法:
var isItAVowel = {
'a': true,
'e': true,
'i': true,
'o': true,
'u': true };
!!isItAVowel["a"] == true;
!!isItAVowel["o"] == true;
!!isItAVowel["c"] == false;