【问题标题】:How To Loop Through A Nested Object [duplicate]如何循环嵌套对象[重复]
【发布时间】:2018-02-07 12:59:48
【问题描述】:

嗨,我有一个看起来像这样的嵌套对象

var dogTypes = {
GermanShepard {color: "black and white"},
Beagle       {color: "brown and white"},
cheuwahwah  {color: "green and white"},
poodle:    {color: "purple and white"},
 }

我试图遍历嵌套对象中的所有属性,我知道如何使用常规对象而不是嵌套对象来执行此操作,所以如果有人可以帮助我,那就太好了。

 for (var key in dogTypes) {
 console.log(key + " : " + dogTypes[key])
 }

这是我打印出来的代码

 GreatDane : [object Object]
   GermanSheppard : [object Object]
   Beagle : [object Object]
   BullDog : [object Object]

我会在哪里将颜色属性合并到 for in 循环中,请帮忙!谢谢

【问题讨论】:

标签: javascript loops object properties nested


【解决方案1】:

“我试图循环遍历嵌套对象中的所有属性”

嵌套对象是常规对象。如果你想访问嵌套对象中的所有属性,你只需要一个嵌套循环。

var dogTypes = {
  GermanShepard: {
    color: "black and white"
  },
  Beagle: {
    color: "brown and white"
  },
  cheuwahwah: {
    color: "green and white"
  },
  poodle: {
    color: "purple and white"
  },
};

for (var key in dogTypes) {
  for (var key2 in dogTypes[key]) {
    console.log(key, key2, dogTypes[key][key2]);
  }
}

如果嵌套对象中只有一个已知键,则不需要循环,但实际上也不需要嵌套对象。

【讨论】:

    【解决方案2】:

    很简单:

    console.log(key + " : " + dogTypes[key].color)
    

    访问颜色属性。 如果您添加更多级别,请查看:looping through an object (tree) recursively

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-04
      • 2018-03-23
      • 2020-11-30
      • 1970-01-01
      • 2020-07-29
      • 2017-12-17
      • 2021-05-19
      相关资源
      最近更新 更多