扁平化数组
用于后台返回的父子并未嵌套
function transformData(data){
//先保留所有的key与value【保留成一个数组】
let newData=[data,arr2];
newData.reduce((pre,curr,index,arr)=>{
pre[curr["id"]]=curr;
return pre;
},{});
}
//查考子元素的pid与父元素的一样吗
let result=newData.reduce((arr,curr)=>{
let pid=curr.pid;
let parent=transformData(pid);
//返回的是key是id,值是value pre[curr["id"]]=curr
//父元素存在,直接添加到父元素里面 或 直接添加
if(pre){
parent.children?parent.children.push(curr):parent.children=[curr];
}else if(pid=0)//不存在的条件{
arr.push(curr);
}
return arr;
},[]);