我如何循环嵌套对象
问题描述:
您好有一个嵌套的对象,看起来像这样我如何循环嵌套对象
var dogTypes = {
GermanShepard {color: "black and white"},
Beagle {color: "brown and white"},
cheuwahwah {color: "green and white"},
poodle: {color: "purple and white"},
}
IM通过嵌套对象的所有属性试图环路我知道该怎么做,与常规的对象但不是一个嵌套的,所以如果有人能帮助我,这将是伟大的。
for (var key in dogTypes) {
console.log(key + " : " + dogTypes[key])
}
继承人我的代码打印出
GreatDane : [object Object]
GermanSheppard : [object Object]
Beagle : [object Object]
BullDog : [object Object]
我哪里会环路纳入颜色属性在为请帮助!感谢
答
嵌套对象“IM在嵌套对象通过所有属性试图循环”是一个普通的对象。如果要覆盖嵌套对象中的所有属性,只需要嵌套循环。
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]);
}
}
如果只有一个,在嵌套的对象称为键,那么你并不需要一个循环,但你也并不真的需要一个嵌套的对象。
答
其简单:
console.log(key + " : " + dogTypes[key].color)
访问颜色属性。 如果添加更多关卡,请看:looping through an object (tree) recursively
'console.log(key +“:”+ dogTypes [key] .color)'? –
如果它只有两个级别的深双重for循环会工作,如果不是退化或一个while循环是一个好主意 – TimCodes
https://*.com/questions/2549320/looping-through-an-object-tree-recursively – TimCodes