他们的方法是否具有相同结果的多个正确答案?
function check(code){
if(code == (8 || 9 || 13 || 16 || 17 || 18 || 20 || 32)){
return true;
}
}
我知道我可以使用switch语句,但我想知道它们是否与此类似。我已经尝试过使用数组,但速度很慢。
我也意识到你可以使用&&但我不想输入代码==一百次。
答案 0 :(得分:3)
考虑使用数组
function check(code){
return [8,9,13,16,17,18,20,32].indexOf(code) != -1;
}
请注意,indexOf方法是ECMA5的一部分,可能在某些浏览器中不可用。
有关完整文档,请参阅https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/indexOf。
答案 1 :(得分:1)
你要么必须这样做
return code == 8 || code == 9 || ...;
或者
return [8, 9, 13, ...].indexOf(code) > 0;
答案 2 :(得分:1)
不,你必须把它们拼出来。
更好的方法是循环:
var values = [8, 9, 13, 16, 17, 18, 20, 32];
for (i = 0; i < values.length; ++i) {
if (code === values[i]) {
// do something.
}
}
答案 3 :(得分:1)
怎么样:
function check(code){
return [8, 9, 13, 16, 17, 18, 20, 32].indexOf(code) != -1;
}