扁平化数组
用于后台返回的父子并未嵌套
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; },[]);