【发布时间】:2013-01-23 08:58:58
【问题描述】:
我一无所知。我有一个这样的 JSON 字符串,我需要检查提供的“属性”(以下示例中的postsome):
var index_file =
[{
"indexAB":[
{ "postsome": ["keyword_abc", "keyword_def"] },
{ "testsome": ["keyword_111", "keyword_222"] }
]
},{
"index_random": [
{ "postsome": ["keyword_abc"] }
]
}]
里面有n 对象的任意数量的索引(“indexAB”、“index_random”)。
我需要“找到”我的属性postsome,但我无法让它工作,因为我正在努力寻找访问对象的正确方法。
所以:
for (var i = 0, l = indices.length; i < l; i += 1) {
doc._id = "postsome",
index_name = "indexAB";
indices[i]["indexAB"]; // ok, returns object on correct iteration
indices[i][index_name]; // undefined
indices[i].indexAB[0][doc._id] // ok, returns undefined or keywords
indices[i][index_name][0][doc._id] // undefined
}
问题:
如何使用变量名index_name 访问循环中的嵌套对象?
【问题讨论】:
-
您的代码无效。你不能写
var foo.bar = ...;。摆脱var看看是否有帮助。 -
indices[i]["indexAB"]和indices[i][index_name]应该总是产生相同的结果,因为index_name的值确实是"indexAB"。如果你的代码中确实有 Blender 指出的错误,那么你不应该是这些行中的任何一行。 -
请原谅。跳过
var,将参数doc._id传入函数中。
标签: javascript jquery arrays object nested