zoukankan      html  css  js  c++  java
  • 递归遍历去除flag为false的项

      const treeData = [
        {
          title: '0-0',
          key: '0-0',
          flag: true,
          children: [
            {
              title: '0-0-0',
              key: '0-0-0',
              flag: true,
              children: [
                { title: '0-0-0-0', key: '0-0-0-0', flag: true },
                { title: '0-0-0-1', key: '0-0-0-1', flag: false },
                { title: '0-0-0-2', key: '0-0-0-2', flag: true }
              ],
            },
            {
              title: '0-0-1',
              key: '0-0-1',
              flag: true,
              children: [
                { title: '0-0-1-0', key: '0-0-1-0', flag: true },
                { title: '0-0-1-1', key: '0-0-1-1', flag: true },
                { title: '0-0-1-2', key: '0-0-1-2', flag: true }
              ],
            },
            {
              title: '0-0-2',
              key: '0-0-2',
              flag: false,
            },
          ],
        },
        {
          title: '0-1',
          key: '0-1',
          flag: false,
          children: [
            { title: '0-1-0-0', key: '0-1-0-0', flag: true },
            { title: '0-1-0-1', key: '0-1-0-1', flag: true },
            { title: '0-1-0-2', key: '0-1-0-2', flag: true }
          ],
        },
        {
          title: '0-2',
          key: '0-2',
          flag: true
        },
      ];
    
      function fn(data) {
        data = data.filter(item => {
          if (item.children) item.children = fn(item.children);
          return item.flag
        })
        return data
      }
      let arr = fn(treeData)
    
      console.log(treeData)
      console.log(arr)
  • 相关阅读:
    RHEL安装oracle客户端(版本为11.2)
    为服务器设置固定IP地址
    RHEL配置本地yum
    网线水晶头内线排序
    《汇编语言(第三版)》王爽著----读书笔记01
    kali系统越来越大解决
    Markdown入门简介
    Linux之tail命令
    Linux之df命令
    Linux命令
  • 原文地址:https://www.cnblogs.com/wuqilang/p/14442905.html
Copyright © 2011-2022 走看看