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

首頁 > 開發 > JS > 正文

js 實現 list轉換成tree的方法示例(數組到樹)

2024-05-06 16:54:19
字體:
來源:轉載
供稿:網友

目標:

JS 將有父子關系的平行數組轉換成樹形數據

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

該方法應該能很容易被想到,實現起來也一步一步可以摸索出來;

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){ //當內層循環的ID== 外層循環的parendId時,(說明有children),需要往該內層id里建個children并push對應的數組;          if(!ele.children){            ele.children = [];          }          ele.children.push(element);        }      });    }  });  console.log(oldArr) //此時的數組是在原基礎上補充了children;  oldArr = oldArr.filter(ele => ele.parentId === 0); //這一步是過濾,按樹展開,將多余的數組剔除;  console.log(oldArr)  return oldArr;}listToTree(oldData);

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 剑川县| 株洲市| 仪陇县| 津南区| 尼木县| 奉新县| 边坝县| 五峰| 祁阳县| 汉中市| 马山县| 松原市| 渭源县| 桑植县| 新干县| 财经| 自治县| 个旧市| 绥化市| 南漳县| 外汇| 湖北省| 庆云县| 甘孜| 平潭县| 从化市| 武冈市| 岳阳县| 陵川县| 松滋市| 唐山市| 梁平县| 淮安市| 江源县| 于田县| 平顶山市| 綦江县| 富源县| 井研县| 广水市| 富源县|