使用多个逻辑“或”运算符

时间:2014-01-02 21:12:26

标签: javascript logic control-flow

除了使用switch语句(或写if(x === 2 || x === 3 || x === 4)等)之外,有没有办法实现多个“或”(||)运算符?

E.g:

if(x === 2 || 3)
    alert("Yes");

这会警告每个x

的值

2 个答案:

答案 0 :(得分:4)

你最接近的可能就是做这样的事情:

if ([2,3].indexOf(x) > -1){
}

DOCS

当然,如果这对您来说是个问题,那么IE 8及以下版本需要垫片。

答案 1 :(得分:2)

大量选择的标准方法是根据语言使用字典/哈希集/哈希表。

对于JavaScript,数组和对象都可以工作:

var isPresent = [];  
isPresent[2] = true;
isPresent[43] = true;
if (isPresent[x])...

对于少量项目,Adam Rackis使用线性搜索的答案更具可读性

 [2,3].indexOf(x)