首页 > 其他分享 >数组对象删除不满足某些条件的对象 js

数组对象删除不满足某些条件的对象 js

时间:2024-02-29 13:44:35浏览次数:22  
标签:childrenNodeName 对象 items ids len js 数组 id

  recursiveFunction(items, childrenNodeName, ids) {
      console.log('items', ids);
      // 获取数组长度
      if (items) items = [];
      let len = items?.length
      // 循环遍历数组
      for (let i = 0; i < len; i++) {
        // 如果有子节点,递归遍历子节点
        if (items[i][childrenNodeName].length > 0) {
          this.recursiveFunction(items[i][childrenNodeName], childrenNodeName, ids)
        }
        // 删除不满足某些条件的节点,删除后,当前数组下标、长度均减一(这里条件是:
        // 当前项 id)
        console.log('ids.includes(items[i].id)', ids.includes(items[i].id));
        if (!ids.includes(items[i].id)) {
          items.splice(i, 1)
          len--
          i--
        }
      }
    },
    filter(data, id) {
      var newData = data.filter(x => x.id === id)
      newData.forEach(x => x.children && (x.children = this.filter(x.children, id)))
      return newData
    },

 

标签:childrenNodeName,对象,items,ids,len,js,数组,id
From: https://www.cnblogs.com/zhulongxu/p/18043506

相关文章

  • 对象的使用
    既然现在我们知道如何创建对象,那么我们怎么去访问这个对象呢,比如我现在想要去查看或是修改它的名字。我们同样可以使用一个变量来指代某个对象,只不过引用类型的变量,存储的是对象的引用,而不是对象本身:publicstaticvoidmain(String[]args){//这里的a存放的是具体的某个值......
  • uniapp 小程序 request.js 文件书写
    uniapp小程序request.js文件书写:https://blog.csdn.net/weixin_46479579/article/details/124431422?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_utm_term~default-16-124431422-blog-132159578.235^v43^pc_blog_bottom_relevance_base9&spm=1001......
  • 树状数组学习笔记
    目录原理(结构)建树应用单点修改,区间求和区间修改,单点求值区间修改,区间求和单点修改,区间求最值求逆序对个数二维树状数组trick:树状数组上倍增权值树状数组正文1.原理引用日报图片。设黑色框内数组为\(a_1\toa_8\).可以推得\(c_i=a_......
  • 微信小程序的配置文件app.json的所有内容(十七)
    微信小程序的配置文件app.json的所有内容  {  "pages":["page1","page2","page3"], //页面路径列表,第一个页面路径为小程序初始页面  "window":{ //小程序窗口设置   //如果不进行额外的配置,小程序页面将使用默认的导航样式。"navigationStyle":"defau......
  • 【C++】相对于数组,在链表中添加和删除元素更容易,但排序速度更慢。这就引出了一种可能
    相对于数组,在链表中添加和删除元素更容易,但排序速度更慢。这就引出了一种可能性:相对于使用链表算法进行排序,将链表复制到数组中,对数组进行排序,再将排序后的结果复制到链表中的速度可能更快;但这也可能占用更多的内存。请使用如下方法检验上述假设。a.创建大型vector<int>对象vi0,并......
  • 面向对象—【类与对象】【类的定义与对象创建】【对象的使用】【方法创建与使用】【方
    面向对象基础篇我们在前面已经学习了面向过程编程,也可以自行编写出简单的程序了。我们接着就需要认识面向对象程序设计(ObjectOrientedProgramming)它是我们在Java语言中要学习的重要内容,面向对象也是高级语言的一大重要特性。面向对象是新手成长的一道分水岭,有的人秒懂,有的人......
  • 数组构建_cfECR162_C. Find B
    目录问题概述思路分析参考代码问题反思问题概述原题参考:C.FindB对于一个数组a,给出m次咨询,问对于每一次询问的区间是否可以构建出另外一个好的数组b,对于a的好数组的定义是a数组和b数组的元素和相同a数组和b数组的每一位不同b数组的每一位是正数思路分析对于第一个条件......
  • xlua - lua中操作c#对象
    1,c#对象映射为lua的userdataa)默认情况,c#对象都是映射为lua的userdata,数据存放在c#层,调用函数也是走c#层。functionLuaUseVector3(v1,v2)v1.x=10print(type(v1),v1.x,v1.y,v1.z)print("v1:",v1,"v2:",v2)print("v1+v2:",v1+v2)v1......
  • 数组关系_ABC342_D - Square Pair
    目录问题概述思路想法参考代码问题反思问题概述原题参考:D-SquarePair对于长度为n的数组,给出满足要求的数对对数:i<ja[i]*a[j]是一个平方数思路想法其实和以前的数组关系那题差不多,也是找关系,就是关系找不出来而已,对于两数相乘为平方数应该怎么考虑,可以知道对于任意数......
  • 面向对象—【类与对象】【类的定义与对象创建】【对象的使用】【方法创建与使用】【方
    @目录面向对象基础篇类与对象类的定义与对象创建对象的使用方法创建与使用方法进阶使用构造方法源码:Giteehttps://gitee.com/drip123456/java-seGIthubhttps://github.com/Drip123456/JavaSE专栏:JavaSE笔记专栏面向对象基础篇我们在前面已经学习了面向过程编程,也可以自......