Nested 在chrome控制台中使用for…嵌套对象键值对返回未定义

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

我正在迭代另一个对象中的所有对象,以记录每个对象中同一个键的值。我在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 (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}`)
}