1

可能重复:
javascript函数inArray

在 Python 中,我可以通过以下方式进行多重等价测试:

if x in [1, 2, 3, 4, 5]:
    do something

我将如何在 javascript 中执行此操作?目前我正在做:

if (x == 1 || x == 2 || x == 3 || x == 4 || x == 5) {
    do something
}
4

2 回答 2

6

在 JavaScript 中有indexOf方法:

if ([1,2,3,4,5].indexOf(x) > -1) {
    // do something
}

需要注意的是,有些老的浏览器不支持这种方式,所以推荐使用shim

顺便说一句,in运算符存在于 JavaScript 中,主要用于检查对象中的属性是否存在,例如:

"id" in { id: 123 } === true;
"id" in { ib: 123 } === false;
于 2013-01-11T00:58:38.090 回答
0

如果您只想指定x一次变量,则可以使用开关:

switch (x) {
  case 1:
  case 2:
  case 3:
  case 4:
  case 5:
    // do something
}

如果值与示例中的值非常相似,则只需检查最终值:

if (x >= 1 && x <= 5) {
  // do something
}
于 2013-01-11T01:00:59.360 回答