其他分享
首页 > 其他分享> > JS 对象数组转树 通过父id 递归

JS 对象数组转树 通过父id 递归

作者:互联网

export const perArrayToTree = function(arr : Array<any>,par_id : Number =0){
  //过滤,找属于父节点的孩子列表
  let childArr:Array<any> = [];
  for(let i:Number =0,length:Number = arr.length;i<length;i++,length = arr.length){
    if(arr[i].par_id === par_id){
      childArr.push(arr[i]);
      arr.splice(i,1);
      i--;
    }
  }
  if(childArr.length === 0) return childArr;

//   继续找孩子的孩子列表
  childArr.map(item=>{
      let tempArr = perArrayToTree(arr,item.per_id);
      if(tempArr.length>0){
        item.children = tempArr;
      }
    })
    childArr.sort((a,b)=>{
      return a.list_order - b.list_order;
    })
  return childArr;
}

标签:tempArr,arr,Number,JS,length,let,转树,id
来源: https://blog.csdn.net/weixin_42474371/article/details/118697326