次のように、トリプルネストされたオブジェクトを宣言しました。
var food = {
"fruit": {
"apples": {
"redApples": 20,
"greenApples": 30
},
"bananas": {
"yellowBananas": 10
}
},
"grains": {
"bread": {
"brownBread": 50
}
}
};
オブジェクトのオブジェクトを反復処理するために機能するこの質問を見つけましたが、行き詰まっています。このオブジェクトをどのように反復処理しますか?
更新:この特定の問題については、ネストされた 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]);
ただし、以下に、無期限にネストされたオブジェクトに対してこれを行う優れた再帰関数がいくつかあります。