zoukankan      html  css  js  c++  java
  • 树形结构操作

    删除树形结构第三层孩子
    /**
         * @method 去除树形结构按钮权限
         * @param  {Array} data 原始权限数组
         * @return {Array} 去除按钮权限的数组
    */
    
    export function filterData(data) {
      // 到叶子节点了,返回,递归出口
      if (data == undefined || data == null || data.length == 0) {
        return
      }
      else {
        // 对每一层,遍历这个数组,调用filterData方法对每个元素下的数组进行同样的操作
        // 筛掉当前层的status为2的对象
        myFilter(data)
        for (let index in data) {
          filterData(data[index].menuChildren)
        }
      }
      return data
    }
    // 改变引用的filter方法
    function myFilter(data) {
      if (data == null || data == undefined || data.length == 0) {
        return
      } else {
        for (let index = data.length - 1; index >= 0; index--) {
          // 删除状态2的元素,且不为过渡结点的元素
          if (data[index].privilegeType === 2) {
            data.splice(index, 1)
          }
        }
      }
    }
    
    
    获取树形结构第三层数据
    /**
         * @method 获取按钮权限数据
         * @param  {Array} list 原始权限数组
         * @return {Array}  返回按钮权限数组  btnList
    */
    let btnList = []
    export function findBtnList(list) {
      list.forEach(val => {
        if (val.privilegeType === 2) {
          btnList.push(val)
        }
        if (val.privilegeType !== 2) {
          if (val.menuChildren && val.menuChildren.length > 0) {
            findBtnList(val.menuChildren)
          }
        }
      })
      return btnList
    }
    
  • 相关阅读:
    通信原理
    java实现聊天室的简单实现
    计算机网络笔记——第四章、网络层
    泛型高级之通配符
    看文档总结
    HashSet源码解析
    HashTable源码解析
    计算机网络笔记——第三章、数据链路层
    Collection集合的功能
    第六章 应用层
  • 原文地址:https://www.cnblogs.com/0520euv/p/15069666.html
Copyright © 2011-2022 走看看