zoukankan      html  css  js  c++  java
  • 05

     1       var jsonData = eval(`[
     2       {"id":"4","pid":"1","name":"大家电"},
     3       {"id":"5","pid":"1","name":"生活电器"},
     4       {"id":"1","pid":"0","name":"家用电器"},
     5       {"id":"2","pid":"0","name":"服饰"},
     6       {"id":"3","pid":"0","name":"化妆"},
     7       {"id":"7","pid":"4","name":"空调"},
     8       {"id":"8","pid":"4","name":"冰箱"},
     9       {"id":"9","pid":"4","name":"洗衣机"},
    10       {"id":"10","pid":"4","name":"热水器"},
    11       {"id":"11","pid":"3","name":"面部护理"},
    12       {"id":"12","pid":"3","name":"口腔护理"},
    13       {"id":"13","pid":"2","name":"男装"},
    14       {"id":"14","pid":"2","name":"女装"},
    15       {"id":"15","pid":"7","name":"海尔空调"},
    16       {"id":"16","pid":"7","name":"美的空调"},
    17       {"id":"19","pid":"5","name":"加湿器"},
    18       {"id":"20","pid":"5","name":"电熨斗"}
    19       ]`);
    20 
    21       function transData(data, idStr, pidStr, chindrenStr) {
    22         var arr = [],
    23           hash = {},
    24           id = idStr,
    25           pid = pidStr,
    26           children = chindrenStr;
    27 
    28         for (var i = 0; i < data.length; i++) {
    29           hash[data[i][id]] = data[i];
    30         }
    31         for (var j = 0; j < data.length; j++) {
    32           //data 中每一项
    33           var arrVal = data[j],
    34             //找父分类
    35             hashVP = hash[arrVal[pid]];
    36           //pid 不为 0
    37           if (hashVP) {
    38             !hashVP[children] && (hashVP[children] = []);
    39             hashVP[children].push(arrVal);
    40           }
    41           //pid 为 0
    42           else {
    43             // 将data 的对象添加到数组中
    44             arr.push(arrVal);
    45           }
    46         }
    47         return arr;
    48       }
    49 
    50       var jsonDataTree = transData(jsonData, 'id', 'pid', 'chindren');
    51       console.log(jsonDataTree);
  • 相关阅读:
    ORA-01219:数据库未打开:仅允许在固定表/视图中查询
    RMAN-08137: WARNING: Archived Log Not Deleted, Needed For Standby Or Upstream Capture Proces
    SSDB 安装部署及注意事项总结
    Keepalived安装与配置
    MongoDB安装与配置
    mysql数据库优化建议
    mysql数据库主从复制搭建
    MySQL MHA安装与配置
    CDH版本的hadoop下载
    centos7下载
  • 原文地址:https://www.cnblogs.com/sikongdada/p/10732550.html
Copyright © 2011-2022 走看看