zoukankan      html  css  js  c++  java
  • 具有层级关系的扁平化数组转化成树形结构数组

    // 递归查找父级及其子级节点
    nestFn(id) {
      let a = [];
      this.resJson.forEach(item => {
        if (item.fatherid == id) {
          let { fatherid, roleid, rolelevel, rolename } = item;
          a.push({
            fatherid,
            roleid, 
            rolelevel, 
            rolename,
            children: this.nestFn(roleid)
          })
        }
      })
      return a;
    },
    
    deptFunc() {
      this.resJson = JSON.parse(treeJson);
      let deptArr = []; // 转化后的结果数据
      this.resJson.forEach((item, index) => {
        if (Number(item.fatherid) < 0) { // 查找最外层节点数据
          let { fatherid, roleid, rolelevel, rolename } = item;
          deptArr.push({
            fatherid,
            roleid,
            rolelevel,
            rolename,
            children: this.nestFn(roleid)
          })
        }
      });
    },

    下图是98条具有层级关系的扁平化数组

    下图是转化后的结果数据

    转换思路:父级与子级的关系是通过fatherid与roleid关联的,子元素的‘fatherid===父元素的roleid’,由此可以递归出层级关系的数据

  • 相关阅读:
    假期十一
    假期十
    假期九
    假期八
    假期七
    假期六
    假期五
    假期四
    2020.02.11
    2020.02.10
  • 原文地址:https://www.cnblogs.com/harlem/p/14150347.html
Copyright © 2011-2022 走看看