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’,由此可以递归出层级关系的数据

  • 相关阅读:
    Spring配置数据源和注解开发
    spring 的配置介绍
    spring
    maven
    mybatis初始
    idea中配置xml不自动提示解决方案(eclipse配置XmlCatalog)
    JSON、AJAX
    ThreadLocal的使用
    Filter过滤器
    谷歌 kaptcha 图片验证码的使用
  • 原文地址:https://www.cnblogs.com/harlem/p/14150347.html
Copyright © 2011-2022 走看看