const data =[{id:'1',name:'父节点1',children:[{id:'1-1',name:'子节点1-1',children:[{id:'1-1-1',name:'子节点1-1-1'},{id:'1-1-2',name:'子节点1-1-2'}]}]},{id:'2',name:'父节点2',children:[{id:'2-1',name:'子节点2-1'}]}]functiontreeToList(data){let res =[]dfs=(data)=>{
data.forEach(element=>{if(element.children){dfs(element.children)}delete element.children
res.push(element)});}dfs(data)return res
}treeToList(data)
列表转树形结构
let arr =[{id:1,name:'部门1',pid:0},{id:2,name:'部门2',pid:1},{id:3,name:'部门3',pid:1},{id:4,name:'部门4',pid:3},{id:5,name:'部门5',pid:4},{id:6,name:'部门6',pid:0},]functiongetTreeList(arr){let tree =[]
arr.forEach(e=>{let childrenArr = arr.filter(ele=>{return ele.pid == e.id
})if(childrenArr.length >0){
e.children = childrenArr
}if(e.pid ==0){
tree.push(e)}})return tree
}