• 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);
  • 相关阅读:
    SEO搜索引擎
    SEO
    编程的智慧
    ES6编程规范
    面试题集
    motto
    motto
    JS
    motto
    Linux
  • 原文地址:https://www.cnblogs.com/sikongdada/p/10732550.html
Copyright © 2020-2023  润新知