Javascript 检查字典中的数组中是否有字符串

Javascript 检查字典中的数组中是否有字符串,javascript,arrays,dictionary,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非常陌生,所以我可能缺少一些关于dict

我有一个字符串到字符串数组的字典:
{“a”:[“b”,“c”]}
。当索引到字典中时,我会得到一个字符串数组,但是检查数组中是否有任何字符串总是返回false。 以下是代码设置:

var dict = {
    "first":["a", "b", "c"]
}
if("a" in dict["first"]){
    // Never hits this line
    console.log("Found a!");
}
我对Javascript非常陌生,所以我可能缺少一些关于dictionary对象设置的内容,但这似乎非常简单,而且我在一些C语言方面有专业经验,因此这不起作用是相当令人不安的。这里怎么了

如果指定的属性位于指定的对象中,in运算符将返回true

a
不是一个属性,它是一个数组值,数组索引作为属性,dict[“first”]中的
0在这里将为
true
。因此,您可以在这里使用

var dict={
“第一”:[“a”、“b”、“c”]
}
if(dict[“first”].indexOf(“a”)>-1){
log(“找到了一个!”);
}
试试这个。这对你有用


中的
运算符检查属性,如dict中的
“first”或dict.first中的
“0”。您想检查数组是否为元素假定的“重复”问题不同!@Dagrooms:其中任何一个都不能帮助您检查字符串是否在数组中?数组是否是字典的一部分对于您的问题来说绝对无关紧要。或者你真的在问为什么
中的
操作员没有做你认为它应该做的事情?真是个救命稻草。它被标记为重复,但重复的问题的答案不尽相同,我不想在这个应用程序中使用jquery。
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;
    }
}
}