在返回未定义的javascript嵌套对象中循环
Looping through javascript nested object returning undefined
我试图在嵌套对象中循环,但一直返回undefined。
我的目标:
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);
}
在这种情况下,我尝试控制台记录每个嵌套对象的"data"属性。然而,我一直被"定义不清"。有人能帮忙吗?
谢谢!
将循环更改为:
for (var key in ltColumns) {
console.log(ltColumns[key].data);
}
jsFiddle示例
for...in
循环在key
的每次迭代中返回一个属性名称,这里是col1
和col2
。因此,语句key.data
本身将返回undefined,因为col1
和col2
都不是对象——它们是ltColumns
的属性。因此,您需要同时使用key
和ltColumns
来获得col1
和col2
属性的值,因为ltColumns
是实际对象。
使用此:
console.log(ltColumns[key].data);
for (var key in ltColumns) {
console.log(key.data); // key is just a string, not the property itself
// "col1".data, "col2".data, etc.
// and these strings do not have `data` property
}
您想要访问属性。因此CCD_ 14,因为点表示法是不可能的。
相关文章:
- 循环遍历以数组为值的Javascript对象
- json对象中缺少对象循环
- 如何循环通过2个对象数组并通过匹配id进行合并
- 如何使用自定义辅助对象(handler)实现嵌套的每个循环
- 如何在javascript中循环并将JSON对象放入数组中
- 对象/数组和循环上的原型
- foreach对象循环添加到堆栈顶部
- javascript 中的框架对象循环是未定义的
- JavaScript 对象循环替换信息
- 为什么不是'这个对象循环不起作用
- 在一行中使用对象循环和数组循环
- 将从节点promise返回的对象循环到下一个.then
- 通过javascript对象循环将键转换为字符串
- 从对象循环中排除元素
- 如何在对象循环中跳过键
- javascript中的对象循环
- 动态地从对象循环键传递属性引用
- Javascript对象循环只是将最后迭代的元素追加到另一个对象
- 通过JSON对象循环后动态分配变量
- 从Javascript对象循环动态创建的表单.如何将数据保存回对象