簡體   English   中英

如何遍歷深度嵌套的 json 對象

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM