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

递归方法清空多维数组中的指定元素为对应值(对象)

源码

//【递归】说明:递归方法清空多维数组中的指定元素为对应值(对象)
let clearNullElementsInArrayByProps = (arr, {props = {fieldName: `removed`,fieldValue: true,},
} = {}) => {return (arr || []).filter(v => {if (v[props.fieldName] === props.fieldValue) {return false;} else {if (v.children) {v.children = clearNullElementsInArrayByProps (v.children, { props });return v.children.length > 0} else {return true;}}});
}
clearNullElementsInArrayByProps (数组或对象);

测试


let arr = [{label: '显示文本1', children: [{ label: '显示文本1-1', removed: true, },{ label: '显示文本1-2', removed: 0, },{ label: '显示文本1-3', removed: true, },{ label: '显示文本1-4', removed: false, },{ label: '显示文本1-5', },],},{label: '显示文本1', removed: true,}
]
clearNullElementsInArrayByProps (arr);/*
输出:[{"label": "显示文本1","children": [{"label": "显示文本1-2","removed": 0},{"label": "显示文本1-4","removed": false},{"label": "显示文本1-5"}]}
]
*/

入门级递归方法清空多维数组中的null元素(对象)-CSDN博客文章浏览阅读34次。【代码】递归方法清空多维数组中的null元素(对象)https://blog.csdn.net/qq_37860634/article/details/140830717

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • vue3 引入 wangeditor 富文本编辑器 与 highlight 代码高亮工具 的方法及注意事项
  • Android Dialog设置背景透明
  • [Spark] 详解 outputMode
  • 创建完整的APP页面
  • cuda编程Debug断点调试
  • web小游戏开发:拼图(二)图片切割
  • SQL必知必会
  • 从零到一:用Go语言构建你的第一个Web服务
  • 《Java初阶数据结构》----8.<java对象的比较总结>
  • springboot自动装配原理(springboot知识点梳理二)
  • Linux系统上安装zookeeper
  • Ubuntu下设置文件和文件夹用户组和权限
  • Vue项目增加路由跳转全局进度条 NProgress.js
  • 【Rust光年纪】深入了解Rust语言的关键库:功能特点与使用场景分析
  • 一文总结代理:代理模式、代理服务器
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • 【159天】尚学堂高琪Java300集视频精华笔记(128)
  • 【跃迁之路】【463天】刻意练习系列222(2018.05.14)
  • 2017年终总结、随想
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • ES6系列(二)变量的解构赋值
  • extjs4学习之配置
  • flask接收请求并推入栈
  • Java超时控制的实现
  • jQuery(一)
  • MySQL用户中的%到底包不包括localhost?
  • Nacos系列:Nacos的Java SDK使用
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • Python打包系统简单入门
  • Vue ES6 Jade Scss Webpack Gulp
  • 从输入URL到页面加载发生了什么
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 七牛云假注销小指南
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • 一个项目push到多个远程Git仓库
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • # 达梦数据库知识点
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • (04)odoo视图操作
  • (办公)springboot配置aop处理请求.
  • (待修改)PyG安装步骤
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (力扣)1314.矩阵区域和
  • (三)模仿学习-Action数据的模仿
  • (十三)MipMap
  • (一) storm的集群安装与配置
  • (已解决)什么是vue导航守卫
  • (转)平衡树
  • (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  • .net8.0与halcon编程环境构建