检查字符串是否在字典

时间:2016-04-26 04:09:16

标签: javascript arrays dictionary

我有一个字符串数组的字典词典:{"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;工作。这有什么不对?

2 个答案:

答案 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;
    }
}
}