所有節點和屈服鍵和值給定的JSON結構導線在Javascript
var json = {
'a': {
'a1': ['a1a', 'a1b', 'a1c'],
'a2': ['a2a', 'a2b'],
'a3': []
},
'b': {
'b1': ['b1a', 'b1b', 'b1c', 'b1d'],
'b2': ['b2a', 'b2b'],
},
'c': ['c1', 'c2'],
'd': {
'd1': ['d1a', 'd1b', 'd1c'],
'd2': []
},
'e': ['e1', 'e2'],
'f': [
'f1', 'f2', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8', 'f9', 'f10'
]
};
使用JavaScript如何可以遍歷這收率所有鍵和值的陣列?換句話說,在我遍歷的時候,如果不簡單地保留一個外部存儲並追加它,我怎樣才能返回整組節點鍵和值的數組?
例如在Python中,我可能會使用一個生成器。所以也許我應該問一下,我如何在JavaScript中使用一個生成器?
JavaScript示例使用jQuery:
function traverse(jsonObj) {
if(typeof jsonObj == "object") {
$.each(jsonObj, function(k,v) {
traverse(v);
});
}
else {
// how can I yield this value instead?
console.log(jsonObj)
}
}
凡我預期輸出將是所有的鍵和值的數組:
['a', 'a1', 'a1a', 'a1b', 'a1c', 'a2', 'a2a', 'a2b'] // ... and so on
什麼是預期的輸出? – thefourtheye
現在就添加它。 – yekta