还是直接上代码
- 封装方法
// 平级转树结构
/* treeArr 基础数据
* id 唯一id
* parentId 父级id
* childrenList 子级数组名*/
delTreeData(treeArr, id, parentId, childrenList) {
// 数据克隆
let cloneData = JSON.parse(JSON.stringify(treeArr));
return cloneData.filter(fatherItem => {
let warpArr = cloneData.filter(sonItem => fatherItem[id] == sonItem[parentId]);
warpArr.length ? fatherItem[childrenList] = warpArr : null;
return !fatherItem[parentId];
})
},
- 调用
console.log(pvt_util.delTreeData(this.treeData, 'ID', 'PID', 'ChildrenList'));
- 看返回
有组装就有打平
也是自己的文章 放个链接 有需要可以看看
JavaScript 数组打平,数组多层子级合并为一个(树结构合并)数组,js递归打平数组