• 将数组元素中有关系的父子节点组合


    假设后端同学通过接口向前端返回了天猫的行业信息,例如:
    industry_list = [
    {
    "parent_ind" : "女装",
    "name" : "连衣裙"
    },
    {
    "name": "女装"
    },
    {
    "parent_ind" : "女装",
    "name" : "半身裙"
    },
    {
    "parent_ind" : "女装",
    "name" : "A字裙"
    },
    {
    "name": "数码"
    },
    {
    "parent_ind" : "数码",
    "name": "电脑配件"
    },
    {
    "parent_ind" : "电脑配件",
    "name": "内存"
    },
    ]

    为了取用方便,我们希望可以将其转换为树状格式,例如:
    {
    "数码": {
    "电脑配件": {
    "内存" : {}
    }
    },
    "女装" : {
    "连衣裙": {},
    "半身裙": {},
    "A字裙": {}
    }
    }

      function convert_format(data) {
                let map = new Map();
                for (let i = 0; i < data.length; i++) {
                    let name = data[i].name;
                    map.set(name, map.get(name) || {});
                    // 父节点存入map
                    let parentId = data[i].parent_ind || "root";
                    let parent = map.get(parentId) || {};
                    // 为父节点添加当前节点
                    parent[name] = map.get(name);
                    map.set(parentId, parent);
                }
                return map.get("root");
            }

    Talk is cheap,show me the code
  • 相关阅读:
    Apache安装与属性配置
    Web服务及http协议
    转-httpd 2.4.4 + mysql-5.5.28 + php-5.4.13编译安装过程
    LAMP理论整理
    Rhel6-csync配置文档
    转载Eclipse中Maven WEB工程tomcat项目添加调试
    转载--eclipse git插件安装
    l连接远程桌面
    Aphache VFS
    JMS-activeMQ
  • 原文地址:https://www.cnblogs.com/qc-one/p/14691391.html
Copyright © 2020-2023  润新知