• 树形数据构造


    //原始从服务器返回的数据
    const temp = [
    {"categoryId":7, "parent":0, "name":"test0"},
    {"categoryId":8, "parent":0, "name":"test1"},
    {"categoryId":9, "parent":0, "name":"test2"},
    {"categoryId":68, "parent":0, "name":"test3"},
    {"categoryId":349, "parent":0, "name":"test4"},
    {"categoryId":74, "parent":7, "name":"test5"},
    {"categoryId":20, "parent":8, "name":"test6"},
    {"categoryId":21, "parent":8, "name":"test7"},
    {"categoryId":67, "parent":8, "name":"test8"},
    {"categoryId":185, "parent":9, "name":"test9"},
    {"categoryId":186, "parent":68, "name":"test10"},
    {"categoryId":187, "parent":68, "name":"test11"},
    {"categoryId":188, "parent":68, "name":"test12"},
    {"categoryId":189, "parent":68, "name":"test13"},
    {"categoryId":190, "parent":185, "name":"test14"},
    {"categoryId":191, "parent":185, "name":"test15"},
    {"categoryId":192, "parent":185, "name":"test16"},
    {"categoryId":350, "parent":349, "name":"test17"},
    {"categoryId":351, "parent":349, "name":"test18"},
    ];
    //想要改造成的数据:
    [
    {"categoryId":7,"parent":0,"name":"test0",
      "children":[{"categoryId":74,"parent":7,"name":"test5"}]},
    {"categoryId":8,"parent":0,"name":"test1",
      "children":[{"categoryId":20,"parent":8,"name":"test6"},
                  {"categoryId":21,"parent":8,"name":"test7"},
                  {"categoryId":67,"parent":8,"name":"test8"}]},
    {"categoryId":9,"parent":0,"name":"test2",
      "children":[{"categoryId":185,"parent":9,"name":"test9",
        "children":[{"categoryId":190,"parent":185,"name":"test14"},
                    {"categoryId":191,"parent":185,"name":"test15"},
                    {"categoryId":192,"parent":185,"name":"test16"}]}]},
    {"categoryId":68,"parent":0,"name":"test3",
      "children":[{"categoryId":186,"parent":68,"name":"test10"},
                  {"categoryId":187,"parent":68,"name":"test11"},
                  {"categoryId":188,"parent":68,"name":"test12"},
                  {"categoryId":189,"parent":68,"name":"test13"}]},
    {"categoryId":349,"parent":0,"name":"test4",
      "children":[{"categoryId":350,"parent":349,"name":"test17"},
      {"categoryId":351,"parent":349,"name":"test18"}]}
    ]
    function arrayHandle(arr) {
      arr.forEach(data => {
        objectHandle(data);
      });
      return arr;
    }
    function objectHandle(obj) {
      const items = temp.filter(data => data.parent === obj.categoryId);
      if (items.length) {
        if (obj.children) {
          obj.children.concat(items);
        } else {
          obj.children = items;
        }
        return arrayHandle(items);
      } else {
        return obj;
      }
    }
    //这步将返回构造的数据
    arrayHandle(temp.filter(data => data.parent === 0));
  • 相关阅读:
    (原)学习ORACLE 视图
    (原)学习ORCALE 表和约束
    下班前网上搜集的方法哈哈
    (传)Visual C# WinForm中DataGrid批量删除解决之道。
    (原)学习ORCALE索引
    用于图片切割,图片压缩,缩略图的生成(转到一个好东西)
    NET 2.0 WinForm Control DataGridView 编程36计(转)
    一些常用PLSQL语句 和事务
    温故知新的经典书评《Programming C# 》中文版第4版
    我最恐惧的事情是竞争力的丧失(转)
  • 原文地址:https://www.cnblogs.com/zlog/p/10312933.html
Copyright © 2020-2023  润新知