zoukankan      html  css  js  c++  java
  • 树结构和数组对象之间的相互转换

    1、将树结构展平成数组对象

    // 获取平铺结构
      const tile = (data: any) => {
        let arr: any = [];
        for (let i = 0, l = data.length; i < l; i++) {
          arr.push(data[i]);
          if (data[i].childMenuList && data[i].childMenuList.length > 0) {
            arr = arr.concat(tile(data[i].childMenuList));
          }
        }
        return arr;
      };

    2、将数组对象生成树结构

    // 根据平铺结构生成树结构
      const genTreeData = (originData: any) => {
        const rootNode = originData.filter((n: any) => n.parId === 0);
        const genChildren = (parents: any) => {
          const tempParents = parents.map((parent: any) => {
            const children = originData.filter((m: any) => m.parId === parent.id);
            const tempParent = {
              ...parent,
              key: parent.id,
              title: parent.menuName,
            };
            if (children.length > 0) {
              tempParent.children = genChildren(children);
            }
            return tempParent;
          });
          return tempParents;
        };
        const tempTreeData = genChildren(rootNode);
        return tempTreeData;
      };
  • 相关阅读:
    ACM XXX1
    最大公约数算法
    struct和typedef struct
    PKU 1012
    素数算法3种
    ZOJ 1088
    学习ios开发计划书
    iphone系统架构以及各层提供的主要服务
    iOS 界面元素尺寸
    开发手机版网站有哪些前端框架?
  • 原文地址:https://www.cnblogs.com/wuqilang/p/14644729.html
Copyright © 2011-2022 走看看