我已经声明了一个三重嵌套的对象,像这样:循环通过三嵌套对象在Javascript
var food = {
"fruit": {
"apples": {
"redApples": 20,
"greenApples": 30
},
"bananas": {
"yellowBananas": 10
}
},
"grains": {
"bread": {
"brownBread": 50
}
}
};
我发现this question,它的工作,通过对象的对象迭代,但我坚持。我将如何遍历这个对象?
更新:对于这个特定的问题,嵌套的for循环会工作得很好,像这样:
for(var key in food)
for(var prop in food[key])
for(var foo in food[key][prop])
console.log(food[key][prop][foo]);
不过,也有一些很好的递归函数下面这将无限期嵌套对象做到这一点。
将代码放入一个递归调用自身的函数中。 – 2013-05-12 14:55:58
您需要一个抽象解决方案(适用于“无限”嵌套对象)或简单地说明如何迭代此特定对象中的所有键/值? – sixFingers 2013-05-12 15:02:02
刚刚使用嵌套循环时出现了什么问题(您需要比您找到的问题更多的级别)。由于它不是无限嵌套的,而只有3个层次,所以不需要递归。 – Bergi 2013-05-12 15:42:58