2022-09-01 不利用递归,不利用while,对数据进

2022-09-01  本文已影响0人  Apbenz

大道至简~~~~~~!

代码就是需要优雅的同时,也要让人看的明白。

```javascript 

 let arrs=[

    {id:1,pid:0,child:[]},

    {id:2,pid:0,child:[]},

    {id:3,pid:1,child:[]},

    {id:4,pid:0,child:[]},

    {id:5,pid:1,child:[]},

    {id:6,pid:3,child:[]},

    {id:7,pid:3,child:[]},

    {id:8,pid:4,child:[]},

    {id:9,pid:4,child:[]},

    {id:10,pid:5,child:[]},

    {id:11,pid:10,child:[]},

    {id:12,pid:11,child:[]},

],sortarrs=[],tree=[]

arrs.sort((a,b)=>{return b.pid-a.pid})

sortarrs=JSON.parse(JSON.stringify(arrs))

for(let i=0;i<sortarrs.length;i++){

    if(sortarrs[i].pid===0) break;

    for(let j=0;j<arrs.length;j++){

         if(arrs[i].pid==sortarrs[j].id){

            sortarrs[j].child.push(sortarrs[i])

         }

    }

}

tree=sortarrs.filter(ele=>ele.pid===0)

```

上一篇下一篇

猜你喜欢

热点阅读