functionbuildTree(data,pid){const tree =[];for(const item of data){if(item.pid == pid){const children =buildTree(data,item.id);if(children.length >0)item.children = children;
tree.push(item)}}return tree;}const data =[{id:1,name:'1',pid:0,type:1},{id:2,name:'1-1',pid:1,type:1},{id:3,name:'3',pid:0,type:1},{id:4,name:'3-1',pid:3,type:1},{id:5,name:'1-1-1',pid:2,type:2},{id:6,name:'3-1-1',pid:4,type:1},{id:7,name:'3-1-2',pid:3,type:2},{id:8,name:'3-1-3',pid:3,type:2},]const tree =buildTree(data,0)
console.log(JSON.stringify(tree))