通过递归获取节点层级及本身信息,将树同级节点放入同一个数组

发布于 2022-09-30 23:06:05 字数 2316 浏览 23 评论 0

tableData: [
                {
                    docname: "1",
                    doccode:'a',
                    id:1,
                    num:6,
                    children: [
                        {
                            docname:'1-1',
                            doccode:'b',
                            num:3,
                            fid:1,
                            id:2,
                            children: [
                                {
                                    id:3,
                                    fid:2,
                                    docname:'1-1-1',
                                    doccode:'b1',
                                },
                                {
                                    id:4,
                                    fid:2,
                                    docname:'1-1-2',
                                    doccode:'b2',
                                },
                                {
                                    id:5,
                                    fid:2,
                                    docname:'1-1-3',
                                    doccode:'b3',
                                }
                            ]
                        },
                        {
                            docname:'1-2',
                            doccode:'c',
                            num:3,
                            children: [
                                {
                                    docname:'1-2-1',
                                    doccode:'c1',
                                },
                                {
                                    docname:'1-2-2',
                                    doccode:'c2',
                                },
                                {
                                    docname:'1-2-3',
                                    doccode:'c3',
                                }
                            ]
                        }
                    ]
                }
            ],

怎么讲上述树形结构数据通过递归改为:
[
[

  [1],
  [1-1, 1-2, ...],
  [1-1-1, 1-1-2, ...],
  [1-1-1-1, 1-1-1-2, ...],

],
[

  [2],
  [2-1,2-2,...]
  ....

]
]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

南风几经秋 2022-10-07 23:06:05

image.png

let tableData =[
                {
                    docname: "1",
                    doccode:'a',
                    id:1,
                    num:6,
                    children: [
                        {
                            docname:'1-1',
                            doccode:'b',
                            num:3,
                            fid:1,
                            id:2,
                            children: [
                                {
                                    id:3,
                                    fid:2,
                                    docname:'1-1-1',
                                    doccode:'b1',
                                },
                                {
                                    id:4,
                                    fid:2,
                                    docname:'1-1-2',
                                    doccode:'b2',
                                },
                                {
                                    id:5,
                                    fid:2,
                                    docname:'1-1-3',
                                    doccode:'b3',
                                }
                            ]
                        },
                        {
                            docname:'1-2',
                            doccode:'c',
                            num:3,
                            children: [
                                {
                                    docname:'1-2-1',
                                    doccode:'c1',
                                },
                                {
                                    docname:'1-2-2',
                                    doccode:'c2',
                                },
                                {
                                    docname:'1-2-3',
                                    doccode:'c3',
                                }
                            ]
                        }
                    ]
                }
            ];
let getFieldVals=(list=[],key='',res=[])=>(res.push(list.map(item=>(item.children && getFieldVals(item.children,key,res),item[key]))),res);
getFieldVals(tableData,'docname').reverse();
0: ['1']
1: (2) ['1-1', '1-2']
2: (3) ['1-2-1', '1-2-2', '1-2-3']
3: (3) ['1-1-1', '1-1-2', '1-1-3']
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文