我试图遍历一个嵌套的对象,但我一直返回未定义。
我的对象:
var ltColumns = {
"col1": {data: "productCode", title: "Product Code", width: "7%" },
"col2": {data: "brand", title: "Brand", width: "5%"}
};
我的循环:
for (var key in ltColumns) {
console.log(key.data);
}
在这种情况下,我试图控制台记录每个嵌套对象的“数据”属性。但是,我一直在“不确定”。有人可以帮忙吗?
谢谢!
最佳答案
将循环更改为:
for (var key in ltColumns) {
console.log(ltColumns[key].data);
}
jsFiddle example
您的
for...in
循环在每次迭代时将属性名称返回给key
,此处为col1
和col2
。因此,语句key.data
本身将返回未定义的状态,因为col1
和col2
都不是对象-它们是ltColumns
的属性。因此,由于key
是实际对象,因此您需要同时使用ltColumns
和col1
来获取col2
和ltColumns
属性的值。