【问题标题】:How to show js object name and its all property value? [duplicate]如何显示 js 对象名称及其所有属性值? [复制]
【发布时间】:2021-03-24 19:32:43
【问题描述】:

我有这样的对象

var savedColor = {
    "plat1" : {
        "background" : "rgb(0,0,0)",
        "text" : "rgb(255,255,255)"
    },
    "plat2" : {
        "background" : "rgb(0,50,50)"
        "text" : "rgb(0,0,0)"
    }
}

我想这样显示输出:

plate1
rgb(0,0,0)
rgb(255,255,255)
plate2
rgb(0,50,50)
rgb(0,0,0)

我试过这段代码:

for(var x in savedColor){
    console.log(savedColor[x]);
    for(var y in savedColor[x]){
        console.log(savedColor[y]);
    }
}

但输出没有像我想要的那样显示。输出:

[Object object]
undefined
undefined
[Object object]
undefined
undefined

我怎样才能像上面所说的那样显示输出?

【问题讨论】:

  • 什么是saved,不应该是savedColor吗?
  • saved[y] 应该是saved[x][y]
  • 如果你想查看密钥plat1,你应该记录x,而不是saved[x]
  • 输入错误!
  • 提示,您可以使用for ... in 来迭代键和for ... of 来迭代值。

标签: javascript oop object for-in-loop nested-object


【解决方案1】:

使用Object.entries 获取外部键(可以打印)和对象,然后遍历内部对象的Object.values 并打印:

var savedColor = {
    "plat1" : {
        "background" : "rgb(0,0,0)",
        "text" : "rgb(255,255,255)"
    },
    "plat2" : {
        "background" : "rgb(0,50,50)",
        "text" : "rgb(0,0,0)"
    }
}
for (const [key, obj] of Object.entries(savedColor)) {
  console.log(key);
  for (const value of Object.values(obj)) {
    console.log(value);
  }
}

【讨论】:

    猜你喜欢
    • 2012-05-06
    • 2012-04-18
    • 2011-04-30
    • 1970-01-01
    • 2018-09-24
    • 2016-09-18
    • 1970-01-01
    • 1970-01-01
    • 2015-06-14
    相关资源
    最近更新 更多