[英]How do I loop through deeply nested json object
var City ={
"City1": [{"name": "Place 1"},{"name": "Place 2"},{"name": "Place 3"}],
"City2":[{"name":"My Place 1"},{"name":"My Place 2"},{"name":"My Place 3"}],
"City3":[{"name":"My Place 1"},{"name":"My Place 2"},{"name":"My Place 3"}]
};
我想使用 JavaScript 循環獲取第一個城市名稱,然后循環獲取其位置,然后獲取第二個城市及其位置,依此類推。
您可以使用for
循環遍歷City
對象的所有屬性:
for (var key in City) {
if (City.hasOwnProperty(key)) {
var values = City[key];
// "key" will be City1, City2, ...
// "values" will be the corresponding array through which
// you can loop
}
}
嘗試使用Object.keys()
, Array.prototype.forEach()
var City = { "City1": [{ "name": "Place 1" }, { "name": "Place 2" }, { "name": "Place 3" }], "City2": [{ "name": "My Place 1" }, { "name": "My Place 2" }, { "name": "My Place 3" }], "City3": [{ "name": "My Place 1" }, { "name": "My Place 2" }, { "name": "My Place 3" }] }; Object.keys(City).forEach(function(value, key) { console.log(value); City[value].forEach(function(v, k) { console.log(v.name) }) });
for (let key in City) {
let value = City[key];
console.log(key);
for (i = 0; i <= value.length; i++) {
console.log(value[i]);
}
}
function nestedLoop(obj) {
const res = {};
function recurse(obj, current) {
for (const key in obj) {
let value = obj[key];
if(value != undefined) {
if (value && typeof value === 'object') {
recurse(value, key);
} else {
// Do your stuff here to var value
res[key] = value;
}
}
}
}
recurse(obj);
return res;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.