是否可以根据数组中的特定/所有可能值测试变量? 例如,如果我有:
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
的正确语法是什么?
答案 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...
}