一些业务中会遇到得到的树结构不能直接使用,需要处理一波,在过滤数组中,我们应该学会使用filter,filter和map的一点重要区别就是,filter可以改变数组的长度,map不会

   //根据过滤数组中的某些对象let test1 = [{key1:"vaue1",show:true,children:[{childrenKey1:"childrenValue1",show:false},{childrenKey2:"childrenValue1",show:true}]},{  key2:"vaue2", show:true,},{  key3:"vaue3", show:true,},{  key4:"vaue4", show:false,},]function fil(arr) {// filter和map 有一个本质的区别 就是改变了数组的长度  map 只能修改item 不能删除return arr.filter((item)=>{if(item.show){return true}}).map((item)=>{if(item.children){return item = fil(item.children)}return item})}console.log(fil(test1))

js递归处理删除某些节点相关推荐

  1. js添加和删除元素节点

    js添加和删除元素节点 <!DOCTYPE html> <html> <head><meta charset="UTF-8">< ...

  2. js 递归树根据子节点获取所有父节点

    遍历递归树数组,根据子节点查询父节点中的各个层,并将这些层级合成一个数组返回,没啥可说的,直接上代码吧. 测试数据: const treeData = [{key: '1',name: '父1',ch ...

  3. js递归树结构计算每个节点的叶子节点的数量并且输出

    var json = {"text" : "表格列名称","children" : [{"text" : "序 ...

  4. 递归删除父节点及所有子节点(转)

    --递归删除父节点及所有子节点create table tb(Id int, ParentId int, Name varchar(5))insert into tb select 1, 0, 'a1 ...

  5. 关于递归删除链表节点为什么不会断链问题解释

    问题的由来:    当你第一次实现用递归实现链表删除功能的时候,是否有一丝丝的考虑过.这个问题呢?为什么对于非递归版本的删除必须要知道当前要删除节点的前驱,而需要对其前驱节点的next域指针进行修改. ...

  6. JS 递归树结构数据查找所有叶子节点

    JS 递归树结构数据查找所有叶子节点 export function getAllLeaf (data) {let result = []function getLeaf (data) {data.f ...

  7. JS监听页面元素删除子节点、增加子节点、修改子节点的内容

    监听这个事件DOMSubtreeModified. 表示如果当前监听元素的子节点有改动:包括删除子节点.增加子节点.修改子节点的内容,都会触发这个事件. var container = documen ...

  8. js删除指定html及子标签,js中如何删除某个元素下面的所有子元素?(两种方法)...

    js中如何删除某个元素下面的所有子元素?(两种方法) 一.总结 方法一:通过元素的innerHTML属性 元素element.innerHTML=""; 方法二:通过元素的remo ...

  9. javascript删除元素节点

    在javascript操作dom树的时候可能会经常遇到增加,删除节点的事情,比如一个输入框后一个增加按钮,一个删除按钮,点击增加就增加 个输入框,点击删除就删除对应的输入框.在一些js框架,如Prot ...

  10. android删除文件夹代码,Android_Android递归方式删除某文件夹下的所有文件(.mp3文件等等),1.由于需要删除文件,因此需 - phpStudy...

    Android递归方式删除某文件夹下的所有文件(.mp3文件等等) 1.由于需要删除文件,因此需要如下权限: 2.核心代码 package com.example.deleteyoumi; impor ...

最新文章

  1. js调整数组某些元素到指定位置顺序_Js数组里剔除指定的元素(不是指定的位置)...
  2. VUE工程跨域的配置
  3. 不使用jQuery对Web API接口POST,PUT,DELETE数据
  4. [转载]QQ空间技术架构之深刻揭密
  5. 自动取款机如何使用无卡取款_云南铝管自动抛光机如何使用_利琦抛光机械
  6. 除了后置三摄 新一代iPhone屏幕更大机身更薄...
  7. linux脚本定时拷贝文件,使用Linux shell脚本实现FTP定时执行批量下载指定文件
  8. Windows下memcached.exe的安装与配置
  9. 博弈论(二)完全信息静态博弈
  10. linux racoon代码,源代码安装IPsec-Tools-0.7.2
  11. 金融区块链底层平台FISCO BCOS白皮书
  12. C++ Primer 第5版习题答案
  13. 正态分布及其概率计算
  14. 遥感影像镶嵌及实现(四)
  15. 阿里的坦克 拼多多的梨子
  16. 炒币机器人:炒币投资要大气
  17. 如何查看主板型号 教你怎么看主板型号
  18. java打字训练课程设计_JavaFX+Java打字练习软件(布局篇)
  19. 憨牛女装旗舰店开业啦!
  20. 打卡小程序上线啦!新玩法来了!

热门文章

  1. 简单明了理解交叉验证
  2. springboot大学校园网上图书馆信息管理系统的设计与实现小程序毕业设计源码091535
  3. SaaS ToB产品的易用性设计2
  4. QNX Hypervisor —— 体系结构
  5. c语言中swipe的作用,浅谈在vue中使用mint-ui swipe遇到的问题
  6. R语言epiDisplay包的tableStack函数基于分组变量生成统计分析表(包含描述性统计分析、假设检验、不同数据使用不同的统计量和假设检验方法)、自定义设置iqr参数指定需要计算分位数的变量
  7. 惯性导航系统可替代基于GPS的跟踪
  8. 英特尔vPro博锐技术激活
  9. html5简单的数字加法效果
  10. 面试官问你如何进行程序设计?——设计模式之七大原则——单一职责、里氏代换、开闭原则、依赖倒转以及C++简单实现