我正在寻找一种简短的方法来写这个:
if ( variable == 1 || variable == 2 || variable == 6)
我试过了
if (variable == 1 || 2 || 6)
但它似乎不起作用。是否有捷径可寻?
我正在寻找一种简短的方法来写这个:
if ( variable == 1 || variable == 2 || variable == 6)
我试过了
if (variable == 1 || 2 || 6)
但它似乎不起作用。是否有捷径可寻?
您可以通过将可能的值放入数组并使用来做到这一点Array.indexOf
:
if ([1,2,6].indexOf(variable) != -1)
if (variable in { 1: 1, 2: 2, 6: 6 }) {
// ...
}
或者(更安全的方式):
if (({ 1: 1, 2: 2, 6: 6 }).hasOwnProperty(variable)) {
// ...
}
或者(不是那么短,但也有效):
switch (variable) {
case 1:
case 2:
case 6:
// ...
break;
default:
// else
}
怎么样
[1,2,6].indexOf(variable) >= 0
这在 IE<9 中不起作用,但您可以使用 polyfill。
SugarJS为 indexOf提供了一个 polyfill ,是一个很棒的库。
[1,2,6].includes( variable )