记录 js 过滤到tree上面的多余的数据

代码如下(示例):

 filterTree(arr, ids,first=true) {if(first){//首次传入深度克隆数据防止修改源数据arr=JSON.parse(JSON.stringify(arr))}let emptyArr = [];for (let item of arr) {if (ids.includes(item.id)) {if (item.children &&Array.isArray(item.children)&& item.children.length > 0) {item.children = filterTree(item.children, ids,false);}emptyArr.push(item);} else if (item.children&&Array.isArray(item.children) && item.children.length > 0) {item.children = this.filterTree(item.children, ids,false);if (item.children.length) {emptyArr.push(item);}}}return emptyArr;
},console.log( filterTree(tree, [3,5,2]));

在这里插入图片描述

			
var tree = [{ text: "Parent 1", id: 1,nodes: [{ text: "Child 1", type: "Child", id: 2,nodes: [{ id: 3,text: "Grandchild 1", type: "Grandchild", nodes: [{id: 4, text: "Grandchild 2", type: "Grandchild" }] ,}, {id: 5, text: "Grandchild 2", type: "Grandchild" },{id: 9, text: "Grandchild 2-9", type: "Grandchild-9" },],}, {id: 6, text: "Child 2", type: "Child" },] ,}, { id: 7,text: "Parent 2", type: "Parent" }, { id: 8,text: "Parent 3", type: "Parent" }
];

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/642874.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Foxmail】客户端发送邮件错误:SSL Recv :服务器断开连接, errorCode: 6

Foxmail客户端发送邮件提示:SSL Recv :服务器断开连接, errorCode: 6 错误代码 处理方式: 去邮箱生成新的16位授权码,输入到 密码框 内即可。 注:一旦开通授权码,在Foxmail验证时 密码框 里输入的就是 授权码

shell脚本概念构成及脚本变量详解

目录 一、前言 1、程序编程风格 2、编程语言 3、编程的三种处理逻辑 二、shell脚本 1、shell脚本基础 1.1 什么是shell 1.1.1 shell的概念 1.1.2 linux中常见的shell类型及信息 1.1.3 shell脚本的功能 1.2 shell脚本及构成 1.3 shell脚本执行方式 1.4 脚本错误调试…

STL标准库(二)序列容器之array

容器 容器的本质是类模板,分为序列容器和关联容器 序列容器 array 固定数组 应用包含arrry库 vector 动态数组 应用包含 vector库 deque 双端队列 list 双向链表 forward_list 单向链表 stack 栈 queue 队列 prority 优先队列 array应用 int main() { …

现代密码学基础(2)

目录 一. 介绍 二. 举例:移位密码 (1)密文概率 (2)明文概率 三. 举例:多字母的移位密码 四. 完美安全 五. 举例:双子母的移位密码 六. 从密文角度看完美安全 七. 完美保密性质 一. 介绍…

NVIDIA 再现逆天刀法,千元级 RTX 新卡曝光

这年头,价格 1 字开头入门甜品显卡几乎真就成 N、A 两家弃子了。 以 NVIDIA RTX 4060 与 AMD RX 7600 为例,这两块显卡同为两家新品中最低端型号,其价格直接来到 2K 左右起步。 要知道目前很多普通用户选购一台日常办公、游戏电脑主机&#…

vue(vue2)使用svg格式图标

先安装插件 配置svg文件夹,新建icons文件,svg文件夹放svg后缀文件 index.js文件中的配置 import Vue from "vue" import svgIcon from "/common/iconSvg/index.vue"Vue.component(svg-icon,svgIcon) //挂载全局组件//下面…

Python with Office 054 - Work with Word - 7-9 插入图像 (3)

近日详细学习了寒冰老师的很好的书《让Python遇上Office》,总结了系列视频。 这个是其中的一集:如何在Word中插入图像,我会陆续分享其他的视频并加上相应说明 https://www.ixigua.com/7319498175104942643?logTage9d15418663166a05d10

小程序商城能不能自己开发?

在数字化时代,小程序商城已经成为商家拓展销售渠道、提升品牌影响力的重要工具。那么,商家能否自己动手开发小程序商城呢?答案是肯定的。接下来,以乔拓云为例,为大家详细介绍如何自己搭建小程序商城。 首先&#xff0c…

ntp时间适配服务器和ssh免密登录

1.配置ntp时间服务器,确保客户端主机能和服务主机同步时间 服务端server向阿里时间服务器进行时间同步 第一步:定位服务端server #安装软件 [rootserver ~]# yum install chrony -y # 编辑配置文件,定位第3行,修改…

75.网游逆向分析与插件开发-背包的获取-背包结构与指针的逆向分析

内容参考于:易道云信息技术研究院VIP课 上一个内容:物品名称与物品编号的映射关系分析-CSDN博客 通过上一个内容已经可以通过物品的id得到一个名字,知道了它的算法,它的算法自己封装好了,我们直接用就好,…

机器学习之numpy库

机器学习之numpy库 numpy库概述numpy库历史numpy的核心numpy基础ndarray数组内存中的ndarray对象ndarray数组对象的特点ndarray数组对象的创建ndarray对象属性的基本操作数组的维度元素的类型数组元素的个数数组元素索引(下标) ndarray对象数组的自定义类型切片操作一维数组切片…

【趣味游戏-08】20240123点兵点将点到谁就是谁(列表倒置reverse)

背景需求: 上个月,看到大4班一个孩子在玩“点兵点将点到谁就是谁”的小游戏,他在桌上摆放两排奥特曼卡片,然后点着数“点兵点将点到谁就是谁”,第10次点击的卡片,拿起来与同伴的卡片进行交换。他是从第一排…

npm ERR! code CERT_HAS_EXPIRED npm ERR! errno CERT_HAS_EXPIRED

npm install时报错code CERT_HAS_EXPIRED 一、报错情况二、解决方案 一、报错情况 一直用的好好的,突然今天发现npm install 出问题了,具体报错如下: npm ERR! code CERT_HAS_EXPIRED npm ERR! errno CERT_HAS_EXPIRED npm ERR! request to…

unity项目《样板间展示》开发:火焰和UI设计

第二章:火焰和UI设计 前言一、火焰模型管理灶台火焰壁炉火焰 二、电视机播放三、UI设计结语 前言 这次带大家从0到1做一个unity项目:《样板间展示》。 顾名思义,项目内容是展示样板间,即玩家可以与房间中的物体、家具进行交互。 至…

30天零售应用构建挑战:低代码平台的惊人潜力

随着零售业格局的不断演变,零售商正被迫在一个日益活跃、竞争日益激烈的客户驱动型市场中展开竞争。随着互联网上产品信息和评论的出现,消费者的态度发生了巨大的变化——购物者不再依赖销售人员来获取信息。他们现在知道的和许多零售销售人员一样多&…

Portainer Docker容器可视化管理平台实践

Portainer Docker容器可视化管理平台实践 引安装登录Remote ENV 实践 引 平常用docker命令操作比较多,找了一款docker可视化工具,方便快速预览和批量操作,不想一行一行敲的时候,可以偷偷懒。Portainer试用了一下,安装…

linux的安装配置

文章目录 1.centos7安装2.如何进行一个网络的开启3.客户端Xshell和Xftp的一个使用4.换源 1.centos7安装 1.我是在虚拟机里面重装了一个liunx系统,首先我们新建一个虚拟机 2.前面东西都不需要我们进行一个选择,到图中的这一步我们选择一个liunx,版本的话我们选择一个…

网络防御保护1

网络防御保护 第一章 网络安全概述 网络安全(Cyber Security)是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭受到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断 随着数…

Midjourney基础 | 使用流程 注册,基础文生图,图的放大微调,保存

文章目录 1 使用流程2 生成自己的第一张图3 图的放大,微调3.1 放大3.2 微调变化 4 图的保存 Midjourney是依托于Discord的,但我也是通过Midjourney才了解的Discord 维基百科说~~Discord是一款专为社群设计的免费网络实时通话,主要针对游戏玩家…

请你来了解一下Mysql-InnoDB中事务的两段式提交

欢迎订阅专栏,了解更多Mysql的硬核知识点,原创不易,求打赏 ACID:事务的四个特性 A:原子性 原子性表示把一个事务中所有的操作视为一个整体,要么全部成功,要么全部失败,是事务模型区…