我已經聲明瞭一個三重嵌套的對象,像這樣:循環通過三嵌套對象在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