如何在Javascript中减少if语句中的多个OR条件?

时间:2016-09-01 05:07:40

标签: javascript

我有条件

if(item == 'a' || item == 'b' || item == 'c' || item == 'd' || item == 'e') {
            .........statements......
}

如何减少分支。还有其他方法可以在JavaScript中编写它。

4 个答案:

答案 0 :(得分:3)

对数组使用 Array#indexOf 方法。

if(['a','b','c','d','e'].indexOf(item) > -1){
   //.........statements......
}

答案 1 :(得分:3)

您还可以使用较新的Array.includes

if (['a','b','c','d','e'].includes(item)) {
  ...
}

另一个选项(针对您发布的特定情况)是使用< / >

比较unicode点值
if (item >= 'a' && item <= 'e') {
   ...
}

答案 2 :(得分:2)

您可以使用如下所示的数组。

var arr = ['a','b','c','d','e'];
if(arr.indexOf(item) > -1) 
{
   //statements
}

答案 3 :(得分:1)

这很好用:

if('abcde'.indexOf(item) > -1) {
    ...
}

您也可以使用ES6支持的较新版String.prototype.includes()

if('abcde'.includes(item)) {
    ...
}