热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

js数组如何利用递归遍历树并转换为二维数组

js数组如何利用利用递归遍历树并转换为二维数组?有一棵树,例如:

js数组如何利用利用递归遍历树并转换为二维数组?

有一棵树,例如:



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
let arr = [

    {

        name: '1',

        children: [

            {

                name: '1-1',

                children: [

                    {

                        name: '1-1-1',

                        children: []

                    },

                ]

            }, {

                name: '1-2',

                children: [

                    {

                        name: '1-2-1',

                        children: [

                            {

                                name: '1-2-1-1',

                                children: []

                            },

                        ]

                    },

                    {

                        name: '1-2-2',

                        children: []

                    },

                ]

            }, {

                name: '1-3',

                children: [

                    {

                        name: '1-3-1',

                        children: []

                    },

                ]

            },

        ]

    },

    {

        name: '2',

        children: [

            {

                name: '2-1',

                children: [

                    {

                        name: '2-1-1',

                        children: []

                    },

                    {

                        name: '2-1-2',

                        children: []

                    },

                ]

            },

            {

                name: '2-2',

                children: []

            },

        ]

    },

    {

        name: '3',

        children: [

            {

                name: '3-1',

                children: []

            },

        ]

    },

];

如何利用递归活其他方法把它转换为二维数组?期待的结果如下:

1
2
3
4
5
6
7
8
9
10
let result = [

    ["1", "1-1", "1-1-1"],

    ["1", "1-2", "1-2-1", "1-2-1-1"],

    ["1", "1-2", "1-2-2"],

    ["1", "1-3", "1-3-1"],

    ["2", "2-1", "2-1-1"],

    ["2", "2-1", "2-1-2"],

    ["2", "2-2"],

    ["3", "3-1"],

];



   



推荐阅读
  • 本文详细介绍了 JavaScript 中面向对象编程的基本概念,包括对象的创建、工厂模式、构造函数、原型及其优缺点,并探讨了继承的多种实现方式。 ... [详细]
  • URL参数格式http:localhos:8080demo?ab&cd&ef匹配参数a对应的表达式为^a([^&]*)&匹配参数b对应的表达式为&b([^&]*)&匹配参数c对应 ... [详细]
  • 驱动程序的基本结构1、Windows驱动程序中重要的数据结构1.1、驱动对象(DRIVER_OBJECT)每个驱动程序会有唯一的驱动对象与之对应,并且这个驱动对象是在驱 ... [详细]
  • 本文介绍了编程语言的基本分类,包括机器语言、汇编语言和高级语言的特点及其优缺点。随后详细讲解了Python解释器的安装与配置方法,并探讨了Python变量的定义、使用及内存管理机制。 ... [详细]
  • C语言中的字符串与常用字符串函数
    本文详细介绍了C语言中的字符数组和字符串的基本概念,以及常用的字符串处理函数,帮助读者更好地理解和使用这些功能。 ... [详细]
  • 本文详细介绍了如何对一个整数的二进制表示进行逆序操作。通过多种方法,包括直接法、查表法和分治法,帮助读者全面理解和掌握这一技术。 ... [详细]
  • 本文介绍如何编写一个函数来交换二维数组a[4][5]中的第0行与第3行,以及第1行与第2行的值。同时,在main函数中调用该函数并打印交换前后的数组。 ... [详细]
  • PHP函数的工作原理与性能分析
    在编程语言中,函数是最基本的组成单元。本文将探讨PHP函数的特点、调用机制以及性能表现,并通过实际测试给出优化建议。 ... [详细]
  • 在机器学习中,我们经常需要对训练数据进行随机打乱以提高模型的泛化能力。本文介绍如何使用 numpy.random.permutation 函数在打乱数据的同时保持 x 和 y 的原始映射关系。 ... [详细]
  • 本文探讨了数据结构与算法之间的关系,从基本概念入手,逐步解析二者如何相辅相成,共同构建高效的计算机程序。文中结合实际案例,对数据结构和算法进行了详细说明,并提出了一些思考问题。 ... [详细]
  • Redis 是一个高性能的开源键值存储系统,支持多种数据结构。本文将详细介绍 Redis 中的六种底层数据结构及其在对象系统中的应用,包括字符串对象、列表对象、哈希对象、集合对象和有序集合对象。通过12张图解,帮助读者全面理解 Redis 的数据结构和对象系统。 ... [详细]
  • 蓝牙低功耗中OSAL的工作机制解析
    操作系统抽象层(OSAL)在蓝牙4.0低功耗(BLE)协议栈中扮演着关键角色,主要负责任务调度和事件处理。本文将详细解析OSAL的工作原理及其在BLE中的应用。 ... [详细]
  • 本文将详细探讨PHP中C的作用,并对比其他编程语言如Java和C的特点及其适用场景。 ... [详细]
  • C#本随笔为个人复习巩固知识用,多从书上总结与python基础教程理解归纳得来,如有错误烦请指正面向对象的三大基本特征:封装、继承、多态 ... [详细]
  • 在使用CodeBlocks进行编程时,遇到一个动态分配数组的问题,代码无法通过编译和运行。 ... [详细]
author-avatar
mobiledu2502912277
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有