在SQL中,我们可以看到一个字符串是否像这样在一个列表中:
Column IN ('a', 'b', 'c')
JavaScript中有什么好方法呢?这样做太笨拙了:
if (expression1 || expression2 || str === 'a' || str === 'b' || str === 'c') {
// do something
}
我不确定它的表现和清晰度:
if (expression1 || expression2 || {a:1, b:1, c:1}[str]) {
// do something
}
或者可以使用switch函数:
var str = 'a',
flag = false;
switch (str) {
case 'a':
case 'b':
case 'c':
flag = true;
default:
}
if (expression1 || expression2 || flag) {
// do something
}
但这是一个可怕的混乱。什么好主意吗?
在这种情况下,我必须使用internet Explorer 7,因为它是用于公司内部网页面的。因此,如果没有一些语法糖,['a', 'b', 'c'].indexOf(str) !== -1
将无法本机工作。