大战熟女丰满人妻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ù)文檔推薦 >>
主站蜘蛛池模板: aaa大片 | 伊人久久大香焦 | 99久久精品视香蕉蕉er热资源 | 波多野结衣视频一区二区 | 国产精品二区三区 | 激情综合在线观看 | 天天干天天射天天插 | 欧美精品专区第1页 | 99精品国产一区二区青青牛奶 | 玖玖影院在线观看 | 欧美大狠狠大臿蕉香蕉大视频 | 91免费网站在线看入口黄 | 国产成人免费不卡在线观看 | 欧美亚洲国产激情一区二区 | 一级毛片视频在线 | 亚洲高清美女一区二区三区 | 91啦丨国产丨 | 成人一级免费视频 | 综合久久久久久久 | 久久久久久夜精品精品免费啦 | 香蕉超级碰碰碰97视频蜜芽 | 欧美成人精品高清在线观看 | 久久精品国产曰本波多野结衣 | 成人毛片全部免费观看 | 欧美一级欧美三级在线观看 | 狠狠躁天天躁夜夜躁婷婷 | 玖玖玖精品视频免费播放 | 国产日韩亚洲 | 性生活视频网址 | 精品免费视在线视频观看 | 久久精品国产亚洲a | 婷婷六月色 | 男人边吃奶边爱边做视频日韩 | 中文在线免费不卡视频 | 伊人插插 | 97国产在线公开免费观看 | 国产成人国产在线观看入口 | 亚州一二区 | 成人免费观看网欧美片 | 不卡神马影院 | 免费爱爱的视频太爽了 |