树状结构 父子节点 递归 recursion n级 树

 

树形控件 Tree - Ant Design https://ant-design.gitee.io/components/tree-cn/

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function dig(path = '0', level = 3) {
  const list = [];
  for (let i = 0; i < 10; i += 1) {
    const key = `${path}-${i}`;
    const treeNode = {
      title: key,
      key,
    };
 
    if (level > 0) {
      treeNode.children = dig(key, level - 1);
    }
 
    list.push(treeNode);
  }
  return list;
}<br><br>

  console.log(dig("0",4))

 

 

 

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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
456
<script>
    const permissionData = [
        {
            "title": "水果",
            "key": 90101,
            "children": [
                {
                    "title": "用户管理",
                    "key": 90100,
                    "children": [
                        {
                            "title": "用户管理查看",
                            "key": 90110
                        },
                        {
                            "title": "添加",
                            "key": 90111
                        },
                        {
                            "title": "修改",
                            "key": 90112
                        },
                        {
                            "title": "删除",
                            "key": 90113
                        }
                    ]
                }
            ]
        },
        {
            "title": "蔬菜",
            "key": 1,
            "children": [
                {
                    "title": "用户管理",
                    "key": 2,
                    "children": [
                        {
                            "title": "用户管理查看",
                            "key": 3
                        },
                        {
                            "title": "添加",
                            "key": 4
                        },
                        {
                            "title": "修改",
                            "key": 5
                        },
                        {
                            "title": "删除",
                            "key": 6
                        }
                    ]
                }
            ]
        },
        {
            "title": "大米",
            "key": 7,
            "children": [
                {
                    "title": "用户管理",
                    "key": 8,
                    "children": [
                        {
                            "title": "用户管理查看",
                            "key": 9,
                            "children": [
                                {
                                    "title": "99用户管理查看",
                                    "key": 99
                                },
                                {
                                    "title": "9添加",
                                    "key": 911
                                }
                            ]
                        },
                        {
                            "title": "添加",
                            "key": 11,
                            "children": [
                                {
                                    "title": "11用户管理查看",
                                    "key": 119
                                },
                                {
                                    "title": "添加",
                                    "key": 1111
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ]
 
    let PermissionRootMap = {};// 建立映射:所有权限对应的根权限的值
 
    const GetPermissionRootMap = () => {
        console.log("IN GetPermissionRootMap");
        permissionData.forEach(p1 => {
            // 注意原始数据为列表,第一次循环,可以获取rootKey;在递归时使用
            const rootKey = p1.key;
            let R = (obj) => {
                PermissionRootMap[obj.key] = rootKey;
                let children = obj.children;
                if (children) {
                    children.forEach(p2 => {
                        R(p2)
                    });
                }
            }
            R(p1);
        });
        console.log("ret ", PermissionRootMap);
    };
    GetPermissionRootMap();
</script>

  

 

 

 

 

 树形控件 Tree - Ant Design https://ant.design/components/tree-cn/

 

let PermissionRootMap = {};// 建立映射:所有权限对应的根权限的值

const GetPermissionRootMap = () => {
  console.log("IN GetPermissionRootMap");
  permissionData.forEach(p1 => {
    // 注意原始数据为列表,第一次循环,可以获取rootKey;在递归时使用
    const rootKey = p1.key;
    let R = (obj) => {
      PermissionRootMap[obj.key] = rootKey;
      let children = obj.children;
      if (children) {
        children.forEach(p2 => {
          R(p2)
        });
      }
    }
    R(p1);
  });
  console.log("ret ", PermissionRootMap);
};

 

三级商品类目树

 

posted @   papering  阅读(110)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!
历史上的今天:
2021-02-22 默克尔树 (Merkle Tree)
2021-02-22 高可用的本质 原创 乐羊 阿里技术 2021-02-22
2019-02-22 进栈 出栈 标准用法
2019-02-22 C语言保证,0永远不是有效的数据地址,因此,返回址0可用来表示发生的异常事件
2019-02-22 a
2019-02-22 对内存分配的理解 自动变量 局部变量 临时变量 外部变量 字符串长度 C语言可以看成由一些列的外部对象构成
2017-02-22 css calc()
点击右上角即可分享
微信分享提示