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