国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

js 實現(xiàn) list轉(zhuǎn)換成tree的方法示例(數(shù)組到樹)

2019-11-19 11:01:04
字體:
供稿:網(wǎng)友

目標(biāo):

JS 將有父子關(guān)系的平行數(shù)組轉(zhuǎn)換成樹形數(shù)據(jù)

方法:雙重遍歷,一次遍歷parentId,一次遍歷id == parendId;

該方法應(yīng)該能很容易被想到,實現(xiàn)起來也一步一步可以摸索出來;

const oldData = [  {id:1,name:'boss',parentId:0},  {id:2,name:'lily',parentId:1},  {id:3,name:'jack',parentId:1},  {id:4,name:'john',parentId:2},  {id:5,name:'boss2',parentId:0},]function listToTree(oldArr){  oldArr.forEach(element => {    let parentId = element.parentId;    if(parentId !== 0){      oldArr.forEach(ele => {        if(ele.id == parentId){ //當(dāng)內(nèi)層循環(huán)的ID== 外層循環(huán)的parendId時,(說明有children),需要往該內(nèi)層id里建個children并push對應(yīng)的數(shù)組;          if(!ele.children){            ele.children = [];          }          ele.children.push(element);        }      });    }  });  console.log(oldArr) //此時的數(shù)組是在原基礎(chǔ)上補充了children;  oldArr = oldArr.filter(ele => ele.parentId === 0); //這一步是過濾,按樹展開,將多余的數(shù)組剔除;  console.log(oldArr)  return oldArr;}listToTree(oldData);

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 台中县| 两当县| 浙江省| 上饶县| 驻马店市| 周宁县| 普定县| 东阳市| 双牌县| 罗定市| 雷州市| 山阳县| 特克斯县| 深州市| 广河县| 广西| 昌都县| 江油市| 弋阳县| 阜康市| 正阳县| 曲水县| 扬州市| 钟山县| 巫溪县| 永昌县| 南康市| 陆丰市| 墨玉县| 碌曲县| 勐海县| 静宁县| 都江堰市| 北流市| 隆化县| 庄河市| 合川市| 宜川县| 右玉县| 连云港市| 舒兰市|