function arrayToTree(flatArray, parentId = null) {
const tree = [];
flatArray.forEach(item => {
if (item.parentId === parentId) {
const c = arrayToTree(flatArray, item.id);
if (c.length) {
item.children = c;
}
tree.push(item);
}
})
return tree;
}
let data =
[
{ id: 1, name: 'Node 1', parentId: null },
{ id: 2, name: 'Node 1.1', parentId: 1 },
{ id: 3, name: 'Node 1.1.1', parentId: 2 },
{ id: 4, name: 'Node 1.1.2', parentId: 2 },
{ id: 5, name: 'Node 1.2', parentId: 1 },
{ id: 6, name: 'Node 2', parentId: null },
{ id: 7, name: 'Node 2.1', parentId: 6 },
]
const treess = arrayToTree(data);
console.log(treess);
一维数组转树形结构 递归
于 2024-03-15 19:00:35 首次发布
该篇文章介绍了如何使用JavaScript函数arrayToTree,将具有父子关系的扁平数据结构转化为树形结构,以便于展示和操作层级关系,如在IT项目中的数据组织和遍历。
摘要由CSDN通过智能技术生成