//方法一
let treeMapList = res.data.reduce((memo,current)=>{
memo[current["id"]] = current;
return memo;
},{});
console.log(treeMapList);
this.tree_list = res.data.reduce((arr,current)=>{
let parent_id = current.parent_id;
let parent = treeMapList[parent_id];
if(parent) {
parent.children? parent.children.push(current)
:parent.children = [current]
}else if(parent_id===0){
arr.push(current);
}
return arr
},[]);
console.log(this.tree_list);
//方法二
this.tree_list = newTreeList(res.data, 0);
function newTreeList(res, parent_id = 0) {
let treeList = [];
res.map(function (item) {
if (item.parent_id == parent_id) {
let children = newTreeList(res, item.id);
if (children.length > 0) {
item.children = children;
}
treeList.push(item);
}
});
return treeList;
}
console.log(this.tree_list);