0
我有一個Javascript對象,如果postsome
未定義,我正努力檢查循環。如何檢查一個嵌套的對象屬性是否在Javascript中未定義?
這是我的目標:
var indices = [{
"indexAB": [{
"postsome": [
"keyword_abc",
"keyword_def"
]
}]
},{
"indexA": [{
"postsome": [
"keyword_abc"
]
}]
}
]
問題是,我不能直接引用indexA
,indexAB
或postsome
。所有將是變數。這就是我想:
// passed parameter
var doc._id = "postsome";
// mapping priv
// "indices": [
// {"name":"indexA","fields":["findMeA"]},
// {"name":"indexAB", "fields":["findMeA","findMeB"]}
// ],
for (var i = 0, l = indices.length; i < l; i += 1) {
var index = priv.indices[i];
index_name = index["name"]; // indexAB or indexA
// I can't reference indexAB directly
if (indices[i].indexAB !== undefined && indices[i].indexAB.length > 0) {
console.log(indices[i].indexAB);
console.log(indices[i].indexAB[0][doc._id]);
if (indices[i].indexAB[0][doc._id] !== undefined) {
console.log("gotcha");
trigger = true;
}
}
}
所以,當我使用硬編碼indexAB
它的工作原理,但我通過值需要循環(「指數A」和「indexAB」 instea)。
問:
有什麼辦法來取代.indexAB[0]
一個變量?如果是這樣,怎麼樣?
謝謝!
'var prop ='indexAB';索引[i] [道具]'......這已被問過很多次了。 – duri
讓我試試。我簡直不敢相信那麼簡單...... – frequent