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)
  • 相关阅读:
    mysql批量替换指定字符串
    php中英字符串截取
    比较两个JSON字符串是否完全相等
    Java FastJson 介绍
    线程池
    DBUS及常用接口介绍
    在Mac中如何正确地设置JAVA_HOME
    base64 原理
    sizeof与strlen的区别
    Kubernetes 部署失败的 10 个最普遍原因
  • 原文地址:https://www.cnblogs.com/wuqilang/p/14442905.html
Copyright © 2011-2022 走看看