大战熟女丰满人妻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ù)文檔推薦 >>
主站蜘蛛池模板: 欧美综合视频在线观看 | 久久久99精品久久久久久 | 久久久精品久久久久三级 | 日韩不卡免费视频 | 亚欧在线视频 | 福利视频网 | 久热精品视频在线播放 | 国产精品一区高清在线观看 | 久久欧洲视频 | 99视频福利 | 亚洲另类欧美日韩 | 日本一区二区精品 | 日本a级精品一区二区三区 日本a毛片在线播放 | 欧美成人全部免费观看1314色 | 97精品免费视频 | 国内精品影院久久久久 | 久久久久青草大香线综合精品 | 久久精品66| 亚洲一级毛片免观看 | 一本大道加勒比久久综合 | 亚洲精品国产福利一区二区三区 | 日韩二三区 | 日韩小视频在线播放 | 欧美乱大交xxxxxbbb | 国产精品久久久久久 | 在线观看 亚洲 | 久热只有精品 | 亚洲精品色一区二区三区 | 亚洲日本久久一区二区va | 波多野结衣久久 | 日韩免费不卡 | 久久图片 | 爱爱免费网站 | 久青草视频免费观看青 | 一级毛片成人免费看免费不卡 | 欧美激情一区二区 | 91无限资源 | 亚洲精品一区二区久久 | 欧美z0o| 在线综合色 | 日韩你懂的 |