我有一个字符串数组的字典词典:{"a":["b", "c"]}
。索引到字典时,我得到一个字符串数组,但检查此数组中是否有任何字符串总是返回false。
这是代码设置:
var dict = {
"first":["a", "b", "c"]
}
if("a" in dict["first"]){
// Never hits this line
console.log("Found a!");
}
我对Javascript很陌生,所以我可能会错过一些有关字典对象设置的内容,但它看起来很简单,而且我有几种C语言的专业经验,所以这并不令人不安39;工作。这有什么不对?
答案 0 :(得分:3)
如果指定的属性位于指定的对象Taken from here中,则in运算符返回true。
a
不是属性,它是一个数组值,数组索引充当属性,0 in dict["first"]
在这里true
。所以在这里你可以使用 indexOf()
var dict = {
"first": ["a", "b", "c"]
}
if (dict["first"].indexOf("a") > -1) {
console.log("Found a!");
}

答案 1 :(得分:0)
试试这个。这对你有用。
var dict = {
"first":["c", "b", "a"]
};
console.log(dict.first);
for( var x in dict.first){
if(dict.first[x]=="a")
{
console.log("index of a :"+ x);
break;
}
}
}