编程语言
首页 > 编程语言> > javascript快速生成一棵树

javascript快速生成一棵树

作者:互联网

let arr = [
  {id:1,parentid:null},
  {id:2,parentid:1},
  {id:3,parentid:1},
  {id:4,parentid:2},
  {id:5,parentid:3}
]
//以对象形式生成一棵树
function getNewTree(arr){
  let Map = {};
  let root = null;
  arr.forEach(el => {
    Map[el.id] = {id:el.id,children:[]};
    if(!el.parentid){
      root = el.id;
    }
    if(el.parentid in Object.keys(Map)){
      Map[el.parentid].children.push(Map[el.id]);
    }
  });  
  return Map[root];
}
console.log(getNewTree(arr));

 

标签:el,arr,Map,javascript,一棵树,生成,let,parentid,id
来源: https://www.cnblogs.com/KYSpring/p/15386790.html