在javascript中搜索命名数组
这可能是一个重复,但我不能帮助,但张贴这个,我有一个数组与此格式在javascript中搜索命名数组,javascript,Javascript,这可能是一个重复,但我不能帮助,但张贴这个,我有一个数组与此格式 answerCollection= { 0: {selected : a, status : false }, 1: {selected : a, status : false } } 我想像这样做一个索引检查 if(answerCollection.indexOf(indexNo) == -1){ sel = "a"; } 但它总是失败,即我总是得到-1的返回值,不管数组中是否存在索引 如何进行这
answerCollection= {
0:
{selected : a,
status : false
},
1:
{selected : a,
status : false
}
}
我想像这样做一个索引检查
if(answerCollection.indexOf(indexNo) == -1){
sel = "a";
}
但它总是失败,即我总是得到-1的返回值,不管数组中是否存在索引
如何进行这种搜索
if(answerCollection[indexNo] == null){
sel = "a";
}
比如看
在一个对象中使用的最佳实践。
在您的情况下,可能需要转换为字符串
if(indexNo.toString() in answerCollection){
sel = "a";
}
这是一个对象,不是数组。似乎
answerCollection
是一个普通对象而不是数组。另外,indexOf
的参数是值而不是键。如果(!answerCollection[indexNo]){…}执行会发生什么?我像disvar answerCollection=[]一样声明它@劳埃德:我把它交给了一个var检查,我一直得到-1it@Lloydnull
强制为未定义
<代码>未定义的
可以隐藏,null
不能隐藏null
的输入和文件大小更短。@fabriciomatté是的,我忘了:)哦,没问题。由于我们在挑剔,我会选择如果(!answerCollection[indexNo])
=]
:)我更喜欢我的null,因为我定义了集合。可能是对的,但请解释它的功能(或链接到文档)以避免混淆!
if(indexNo.toString() in answerCollection){
sel = "a";
}