一维数组转树形结构 递归

该篇文章介绍了如何使用JavaScript函数arrayToTree,将具有父子关系的扁平数据结构转化为树形结构,以便于展示和操作层级关系,如在IT项目中的数据组织和遍历。
摘要由CSDN通过智能技术生成

  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);
  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值