Nested 在chrome控制台中使用for…嵌套对象键值对返回未定义
我正在迭代另一个对象中的所有对象,以记录每个对象中同一个键的值。我在chrome控制台中这样做是为了从一个包含7500个对象的巨大对象中获取图像URL(我提到这个是因为我不确定这是编程问题还是控制台限制) 对象的结构如下所示:Nested 在chrome控制台中使用for…嵌套对象键值对返回未定义,nested,google-chrome-devtools,undefined,for-in-loop,Nested,Google Chrome Devtools,Undefined,For In Loop,我正在迭代另一个对象中的所有对象,以记录每个对象中同一个键的值。我在chrome控制台中这样做是为了从一个包含7500个对象的巨大对象中获取图像URL(我提到这个是因为我不确定这是编程问题还是控制台限制) 对象的结构如下所示: { {obj1: {a:1, b:2, c:3,...}}, {obj2 {a:1, b:2, c:3,...}},... {obj7300: {a:1}, {b:2}, {c:3}} } 如何在集合和console.log()上迭代键c的值 我试过半打不同的 for
{ {obj1: {a:1, b:2, c:3,...}}, {obj2 {a:1, b:2, c:3,...}},... {obj7300: {a:1}, {b:2}, {c:3}} }
如何在集合和console.log()上迭代键c的值
我试过半打不同的
for (const obj in collection) {
console.log(obj.c)
}
但是没有任何东西被记录下来。相反,我在一行中获取集合的计数和未定义的计数
这是chrome控制台的限制还是我的语法有什么问题
编辑:添加特定详细信息-console.log(收集)输出
任何给定的对象输出
{name: "button_back", img: "resources/ui/button_back.png"}
我所要做的就是为每个对象记录img的字符串值。我最后做了一个两步的过程来让它工作。我仍然希望看到更优雅的单线解决方案 首先,我将大对象映射到一个数组,然后能够按照我最初的直觉记录项目
var values = Object.keys(collection).map(function(key) {
return RSX[key];
});
for (obj in values) {
console.log(`${obj.img}`)
}
运行此命令:
Object.values(collection).map(v=>v.img)
看起来不像Object.values在chrome中受支持。VM7698:1未捕获类型错误:Object.values不是函数(…),它是标准JavaScript函数,因此受支持。最可能的解释是页面删除了这个方法,这意味着页面真的是一团糟。试着不要使用任何内置方法:(()=>{let i=0,imgs=[];for(let k in collection)imgs[i++]=collection[k];return imgs})()应用程序真是一团糟。控制台经常崩溃,这是对资源的整体消耗,等等。由于Object.keys可以在那个断开的页面上工作,您可以在一行中使用它(不需要console.log):Object.keys(collection.map(k=>collection[k].img)
var values = Object.keys(collection).map(function(key) {
return RSX[key];
});
for (obj in values) {
console.log(`${obj.img}`)
}