当前位置: 首页 > news >正文

js 删除树状图无用数据,如果子级没有数据则删除

有一个需求,当你从后端拿到一个树状图的时候,有些子级没数据,这时就需要我们处理一下数据,当然了,如果第一层底下的第二层没数据,第二层底下的所有都没数据,那这一层都不需要。
我的写法,先删除最后一层,然后以此类推,往上删除。使用递归。

    deleteTreeAreaData(node) {for (let i = node.length - 1; i >= 0; i--) {const item = node[i];if (!item.hasOwnProperty('children')) continue;if (item.children.length === 0 && item.data.dataType == "area") {node.splice(i, 1);continue;}this.deleteTreeInvalidData(item.children);}},deleteTreeInvalidData(tree) {for (let i = tree.length - 1; i >= 0; i--) {const item = tree[i];if (!item.hasOwnProperty('children')) continue;if (item.children.length === 0 && item.data.dataType == "unit") {tree.splice(i, 1);continue;}this.deleteTreeInvalidData(item.children);}},

可以优化,但是我没优化。

http://www.lryc.cn/news/199161.html

相关文章:

  • Docker 容器化(初学者的分享)
  • LCS 01.下载插件
  • 架构-设计原则
  • 在 Python 3 中释放 LightGBM 的力量:您的机器学习大师之路
  • Spring学习笔记(2)
  • cmd使用ssh连接Linux脚本
  • Python万圣节蝙蝠
  • TCP流套接字编程
  • Python迭代器创建与使用:从入门到精通
  • mac虚拟机安装homebrew时的问题
  • 学信息系统项目管理师第4版系列32_信息技术发展
  • Vue3 + Nodejs 实战 ,文件上传项目--大文件分片上传+断点续传
  • 宏(预编译)详解
  • hue实现对hiveserver2 的负载均衡
  • SkyWalking 告警规则配置说明
  • HTML 表单笔记/练习
  • 关于Java Integer和Long使用equals直接比较
  • nodejs+vue衣服穿搭推荐系统-计算机毕业设计
  • Java并发面试题:(七)ThreadLocal原理和内存泄漏
  • 香港服务器在国内访问太慢怎么能提高?
  • 使用Proxyman抓取Android的https请求
  • 基础MySQL的语法练习
  • RAID和LVM配置指南:创建、扩容和管理RAID设备和逻辑卷的方法
  • MapStruct使用方法
  • 【LeetCode】50. Pow(x, n)
  • vue2技能树(2)-模板语法、vue的工具链、渐进式框架
  • 【Git系列教程-目录大纲】
  • 【高等数学】导数与微分
  • springboot之quartz动态可控定时任务
  • 什么是CSS的外边距重叠?