大战熟女丰满人妻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ù)文檔推薦 >>
主站蜘蛛池模板: 欧美综合图区 | 国产精品视频a | 青青国产成人精品视频 | 欧美人成人亚洲专区中文字幕 | 爱爱网站免费 | 亚洲欧美国产毛片在线 | 亚洲人成网站999久久久综合 | 久久久精品午夜免费不卡 | 亚洲六月丁香色婷婷综合久久 | 国产成人精品亚洲 | 国产婷婷综合在线视频中 | 99精品国产自在现线观看 | 国产精品久久久久久久久岛 | 亚洲91在线视频 | 一区亚洲 | 狠狠色噜噜狠狠狠米奇9999 | 亚洲视频在线观看视频 | 国内久久久久高清影视 | 国产精品久久久久久久久久久搜索 | 一级a性色生活片毛片 | 亚洲欧美日韩中文字幕在线一 | 免费观看a黄一级视频 | 国产日韩欧美精品在线 | 色视频一区| 狠狠色噜噜狠狠狠狠色吗综合 | 日韩欧美高清 | 免费一级片在线 | 好吊在线视频 | 国产香蕉国产精品偷在线观看 | 久久久综合色 | 欧美日韩另类综合 | 国产系列 视频二区 | 久久久青草青青国产亚洲免观 | 国内精品自在自线香蕉 | 国产成人精品日本亚洲网站 | 亚洲欧美日韩国产综合专区 | 99久久免费精品国产免费 | 欧美片欧美日韩国产综合片 | 久久频| 亚洲国产高清在线精品一区 | 最近中文国语字幕在线播放视频 |