国产探花免费观看_亚洲丰满少妇自慰呻吟_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教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鹤庆县| 成武县| 加查县| 灌南县| 冕宁县| 康平县| 乐山市| 长岭县| 虹口区| 扬中市| 肥城市| 鄄城县| 屏边| 锡林浩特市| 东平县| 秦安县| 阳山县| 荥经县| 专栏| 施甸县| 饶河县| 简阳市| 合川市| 那坡县| 镇康县| 威海市| 措勤县| 航空| 宣威市| 安化县| 东至县| 丽水市| 龙井市| 珠海市| 庆云县| 剑川县| 大邑县| 定陶县| 南靖县| 孙吴县| 云林县|