练习:编写一个带字符的函数(即长度为1的字符串),如果是元音,则返回true,否则返回false.
我的代码:
var findVowel = function(letter) {
var vowels = ["a", "e", "i", "o", "u"];
for(var i in vowels){
if(letter === i){
return true;
} else {
return false;
}
}
};
findVowel("e");
Run Code Online (Sandbox Code Playgroud)
我已经研究过高低,对我来说代码看起来好像应该但它会返回false,尽管是否给出了元音.
不要在数组中使用for..in循环.i是指数而不是价值.此外,您的代码只会检查字母"a".它永远不会进入循环的下一次迭代,因为它在第一次迭代后总是返回true或false.
你需要将return false移动到循环之后,这样它只有在对所有元音进行检查后才会返回false.
你还应该切换到更"传统"的for..loop风格.
我甚至不会进入整个"是''元音?" 问题" :)
这是固定的代码:
var findVowel = function(letter) {
var vowels = ["a", "e", "i", "o", "u"];
for(var i = 0; i < vowels.length; i++){ // don't use for...in with Arrays
if(letter === vowels[i]){// Use array indexing instead
return true;
}
}
return false;// This is after the loop
};
Run Code Online (Sandbox Code Playgroud)
尝试一下:http://jsfiddle.net/adamzr/3yhFS/
| 归档时间: |
|
| 查看次数: |
13103 次 |
| 最近记录: |