我试图遍历一个嵌套的对象,但我一直返回未定义。

我的对象:

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,此处为col1col2。因此,语句key.data本身将返回未定义的状态,因为col1col2都不是对象-它们是ltColumns的属性。因此,由于key是实际对象,因此您需要同时使用ltColumnscol1来获取col2ltColumns属性的值。

09-19 05:29