list转tree
function toTree(list,id,pid){
let obj={},tree=[];
list.forEach((item,index)=>{
obj[item[id]] = index;
list[index].children = [];
})
list.forEach((item,index)=>{
if(item[pid] == 0 || !list[obj[item[pid]]]) tree.push(item);
else list[obj[item[pid]]].children.push(item);
})
return tree;
}
tree转list
function toList(tree,children){
let list = [];
function deepToList(data){
data.forEach(item=>{
if(item[children]) deepToList(item[children]);
else list.push(item)
})
}
deepToList(tree);
return list;
}