javascript - 循环遍历 javascript 嵌套对象返回未定义

标签 javascript loops object

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

我的目标:

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 本身将返回 undefined,因为 col1col2 都不是对象 - 它们是 的属性ltColumns。因此,您需要同时使用 keyltColumns 来获取 col1col2 属性的值,因为 ltColumns 是实际对象。

关于javascript - 循环遍历 javascript 嵌套对象返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31792609/

相关文章:

javascript - 覆盖属性时自定义元素升级前使用捕获

javascript - Node.js - 如何检索对象/数组中元素的值

javascript - 当将禁用的输入从 true 更改为 false 时,为什么我无法单击该输入?

javascript - 通过API调用使用react redux进行文件上传

c# - 从类列表中包含的列表中删除字符串

javascript - 如果所有 JavaScript 类型都是对象,那么为什么数字要按值传递?

arrays - Angular:如何通过 id 识别 JSON 对象?

javascript - 使用 lodash 查找 null 属性

javascript - 如何在我的网站中嵌入 Google 云端硬盘文件夹

java - 在 for 循环之前显示 toast 不起作用