将列表还原为树状结构

这篇博客介绍了如何将列表数据转化为树状结构,主要探讨了三种方法:递归的简单实现、更复杂的递归以及迭代方法。递归方式的时间复杂度为O(n^2),而迭代方式通过利用JavaScript中对象的引用特性,实现了O(n)的时间复杂度。博主分享了每种方法的详细思路,并指出虽然迭代方式不是最优化的,但其可读性较强。
摘要由CSDN通过智能技术生成

题目:

const list = [
  { pid: null, id: 1, data: "1" },
  { pid: 1, id: 2, data: "2-1" },
  { pid: 1, id: 3, data: "2-2" },
  { pid: 2, id: 4, data: "3-1" },
  { pid: 3, id: 5, data: "3-2" },
  { pid: 4, id: 6, data: "4-1" },
];

转化成如下树状结构:

[
    {
        "pid": null,
        "id": 1,
        "data": "1",
        "children": [
            {
                "pid": 1,
                "id": 2,
                "data": "2-1",
                "children": [
                    {
                        "pid": 2,
                        "id": 4,
                        "data": "3-1",
                        "children": [
                            {
                                "pid": 4,
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值