递归,将普通数组转换成树形结构
递归,将普通数组转换成树形结构 很多时候我们需要的数据都是树形结构数据,但很多时候并不是所有数据都是我们想要的,所以需要我们自己处理封装函数
// 将数组转换为树结构
parseArrayToTree(array) {
let tree = [];
let root = this.getRootObj(array);
debugger;
if (root) {
tree.push(root);
this.setChild(root, array);
}
console.log(tree);
return tree;
},
// 获取树的根节点
getRootObj(array) {
let root = null;
if (array) {
array.forEach(function (item, index, arr) {
if (item.parentId == -1) {// 根节点的id为-1这个要与后台确认
root = item;
}
})
}
return root;
},
// 递归设置树结构子节点
setChild(root, array) {
let temp = this;
array.forEach(function (item, index, arr) {
if (item.parentId === root.specId) {
if (root.child) {
root.child.push(item);
} else {
root.child = [];
root.child.push(item);
}
temp.setChild(item, array)
}
})
},
【递归,将普通数组转换成树形结构】调用方法
let treeValue = https://www.it610.com/article/parseArrayToTree(tree)
以上是我的个人积累,欢迎大家一起探讨和沟通
推荐阅读
- 即将到手三百万
- live|live to inspire 一个普通上班族的流水账0723
- 其实你就是个普通人
- 思友人
- 单点登陆
- 20210307《挑战赛怂人胆》【能量将帅挑战赛(01)】
- 苍灵十二将I|苍灵十二将I 第一百二十五章 关门猎兽
- 那条灰色的人行道
- 齐帆齐微课打卡DAY54——靠工资,普通人能实现财务自由吗((1731字))
- 《没有你我将会很幸福》