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


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

    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;
    }

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

    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);
    };

    三级商品类目树

  • 相关阅读:
    重新认识自己
    GIT学习之路第一天 简介及其安装
    GIT学习之路第一天 简介及其安装
    2017杭电多校第六场1008 Kirinriki
    2017杭电多校第六场1008 Kirinriki
    常用技巧精选之尺取法
    常用技巧精选之尺取法
    2017杭电多校第六场1011Classes
    2017杭电多校第六场1011Classes
    2017杭电多校第六场03Inversion
  • 原文地址:https://www.cnblogs.com/rsapaper/p/15923586.html
Copyright © 2020-2023  润新知