我有一個對象this.themeData
是這樣的(顯示控制檯輸出)我應該如何循環和JavaScript中的「關聯對象」?
Object
Banner: Object
property: "null"
raw: "uploads/1/somefile.png"
selector: "null"
value: "../../uploads/1/somefile.png"
__proto__: Object
H1_FontSize: Object
H2_FontColor: Object
H2_FontSize: Object
和我遍歷這樣的:
for (attrName in this.themeData) {
attrData = this.themeData[attrName];
if (attrData.selector && attrData.value) {
$(".SomeSelector").css(attrData.property, attrData.value);
}
}
這工作,但我在最近的SO question看到了,我不該」 t使用for in
。但是,如果索引不是數字值,我該如何循環訪問for(var i = 0; i<arr.length; i++)
其中this.themeData[i]
不存在?
看來你沒有看到其他問題的全部答案......它完全描述瞭如何遍歷對象以及陷阱是什麼。在這裏的答案中提到的所有東西(使用'hasOwnProperty')在這裏也會有更詳細的解釋。 –