大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) hot資訊 JS遍歷json對(duì)象樹(shù)的所有節(jié)點(diǎn)

JS遍歷json對(duì)象樹(shù)的所有節(jié)點(diǎn)

更新時(shí)間:2022-10-17 10:52:21 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1832次

遍歷 JSON 對(duì)象樹(shù),但找不到任何庫(kù)。這似乎并不困難,但感覺(jué)就像重新發(fā)明輪子。

In XML there are so many tutorials showing how to traverse an XML tree with DOM

如果你認(rèn)為 jQuery 對(duì)于這樣一個(gè)原始任務(wù)來(lái)說(shuō)有點(diǎn)矯枉過(guò)正,你可以這樣做:

//your object
var o = { 
    foo:"bar",
    arr:[1,2,3],
    subo: {
        foo2:"bar2"
    }
};

//called with every property and its value
function process(key,value) {
    console.log(key + " : "+value);
}
function traverse(o,func) {
    for (var i in o) {
        func.apply(this,[i,o[i]]);  
        if (o[i] !== null && typeof(o[i])=="object") {
            //going one step down in the object tree!!
            traverse(o[i],func);
        }
    }
}
//that's all... no magic, no bloated framework
traverse(o,process);

JSON 對(duì)象只是一個(gè) Javascript 對(duì)象。這實(shí)際上就是 JSON 的含義:JavaScript Object Notation。因此,您將遍歷一個(gè) JSON 對(duì)象,但是您通常會(huì)選擇“遍歷”一個(gè) Javascript 對(duì)象。

在 ES2017 中,你會(huì)這樣做:

Object.entries(jsonObj).forEach(([key, value]) => {
    // do something with key and val
});

您始終可以編寫(xiě)一個(gè)函數(shù)以遞歸方式下降到對(duì)象中:

function traverse(jsonObj) {
    if( jsonObj !== null && typeof jsonObj == "object" ) {
        Object.entries(jsonObj).forEach(([key, value]) => {
            // key is either an array index or object key
            traverse(value);
        });
    }
    else {
        // jsonObj is a number or string
    }
}

這應(yīng)該是一個(gè)很好的起點(diǎn)。我強(qiáng)烈建議對(duì)此類事情使用現(xiàn)代 javascript 方法,因?yàn)樗鼈兪咕帉?xiě)此類代碼變得更加容易。

function traverse(o) {
    for (var i in o) {
        if (!!o[i] && typeof(o[i])=="object") {
            console.log(i, o[i]);
            traverse(o[i]);
        } else {
            console.log(i, o[i]);
        }
    }
}

有一個(gè)用于使用支持許多不同用例的 JavaScript 遍歷 JSON 數(shù)據(jù)的新庫(kù)。

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-04-24 搶座中
  • 全國(guó)校區(qū) 2025-05-15 搶座中
  • 全國(guó)校區(qū) 2025-06-05 搶座中
  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: jiz中国| 亚洲精品久久99久久 | 黑人超长巨大xxxxxxx视频 | 国产专区在线播放 | 国产一区国产二区国产三区 | 亚洲国产综合自在线另类 | 欧美一级片在线视频 | 日本亚洲成高清一区二区三区 | 欧美成人丝袜视频在线观看 | 国产91精品久久久久999 | 欧美曰韩一区二区三区 | 国产精品久久久久久吹潮 | 日韩精品你懂的在线播放 | 欧做爰xxxⅹ性欧美大片孕妇 | 一级毛片免费视频 | 国产成人综合95精品视频免费 | 欧美一区二区三区黄色 | 精品欧美在线 | 国产亚洲精品久久久久久久软件 | 亚洲天堂久久久 | 中文欧美日韩 | 51国产午夜精品免费视频 | 伊人焦久影院 | 欧美日韩视频在线 | 一级毛片秋霞特色大片 | 老色鬼a∨在线视频在线观看 | 在线看的毛片 | 麻豆精品一区二区三区免费 | 日韩中文在线视频 | 国产精品久久久久影视青草 | 国产亚洲精品第一区在线观看 | 日本精品一区二区三区在线观看 | 五月在线视频 | 欧美日韩一区二区视频免费看 | 福利99| 欧美理论在线观看 | 久久久久国产一级毛片高清版 | 韩国色三级伦不卡高清在线观看 | 一区二区在线 | 一级毛片一级毛片一级级毛片 | 亚洲精品福利在线观看 |