如何针对特定数组值测试常规变量?

时间:2014-10-22 21:38:12

标签: javascript

是否可以根据数组中的特定/所有可能值测试变量? 例如,如果我有:

var abc;
var array1 = ["item1", "item2", "item3"];

function someFunction(){
  abc = "item2"
  if (abc == !!**Either array1[item1] OR array1[item2] OR.. etc for x in array1**!!)
    {
      //*do stuff*
    }
}

针对abc中任何可能的条目测试array1的正确语法是什么?

3 个答案:

答案 0 :(得分:0)

没有语法,你需要遍历数组并单独比较值。

function  somefunction(){
  abc = "item2"

  for (var i = 0; i < array1.length; ++i) {
    if (abc == array1[i]) {
      //*do stuff*
    }
  }
}

缩短这种情况的常用方法(在测试用于简单相等的情况下)是使用内置的indexOf函数,该函数返回数组中项的索引,或{{1如果没有找到。

-1

答案 1 :(得分:0)

我建议使用循环:

for(i in array1){
  if(abc === array1[i]){
    // do stuff
  }
}

答案 2 :(得分:0)

使用indexOf()检查值在数组中出现的位置。如果它返回-1,则该值不存在。

if (array1.indexOf(abc) != -1) {
  // do stuff...
}