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

js处理数据(过滤)

复选框的值这里为true或false 选中为true,未选中为false

看看数据:

type中的前面那些字母是固定的不会变 括号里面的不固定,那就把固定的作为前缀去过滤,后面怎么变都无所谓,当checkbox三个值中的某个或某些值为false时,要把数据里面type中的前缀为对应值的数据过滤掉,当变为true时,数据还要回来 所以原数据是不能动的 需要拷贝一下

操作一下:

附过滤的方法!filterOrRestoreByTypePrefix这个方法!

function filterOrRestoreByTypePrefix(data, trueArr, prefixes) {let tempData = data.slice();const filteredItems = new Map();for (let i = 0; i < trueArr.length; i++) {const prefix = prefixes[i];const shouldFilter = !trueArr[i];if (shouldFilter) {tempData = tempData.filter((item) => {if (item.type.startsWith(prefix)) {filteredItems.set(item.type,(filteredItems.get(item.type) || []).concat(item));return false;}return true;});} else {filteredItems.get(prefix)?.forEach((item) => {if (!tempData.some((d) => d.type === item.type)) {tempData.push(item);}});filteredItems.delete(prefix);}}return tempData;
}

只要对应传值就好了

看这个方法削微微有点费劲吧,安排个带注释的!

 记录完成!即将迎接愉快的周末!~

相关文章:

  • 御道源码(ruoyi-vue-pro)个人使用小结
  • 运维:k8s常用命令大全
  • Docker部署nacos集群
  • css预处理是什么?作用是什么?
  • C# 利用XejeN框架源码,编写一个在 Winform 界面上的语法高亮的编辑器,使用 Monaco 编辑器
  • el-input-number 限制输入正整数
  • 部署YUM仓库及NFS共享服务
  • Unity贪吃蛇改编【详细版】
  • Selenium 获取请求响应
  • 【Springcloud微服务】Docker上篇
  • 数据结构课设——文章编辑系统
  • C#程序的递归方法调用
  • 项目启动 | 盘古信息助力鼎阳科技开启智能制造升级新征程
  • pytorch把图片打成patches
  • Linux下USB设备图像采集
  • 0基础学习移动端适配
  • 2019年如何成为全栈工程师?
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • ES6系列(二)变量的解构赋值
  • Java 网络编程(2):UDP 的使用
  • Javascript基础之Array数组API
  • Java的Interrupt与线程中断
  • MYSQL 的 IF 函数
  • node学习系列之简单文件上传
  • PHP CLI应用的调试原理
  • React as a UI Runtime(五、列表)
  • swift基础之_对象 实例方法 对象方法。
  • 关于for循环的简单归纳
  • 离散点最小(凸)包围边界查找
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 目录与文件属性:编写ls
  • 写给高年级小学生看的《Bash 指南》
  • 用element的upload组件实现多图片上传和压缩
  • 如何正确理解,内页权重高于首页?
  • !!java web学习笔记(一到五)
  • # 消息中间件 RocketMQ 高级功能和源码分析(七)
  • #QT项目实战(天气预报)
  • #在 README.md 中生成项目目录结构
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (转) RFS+AutoItLibrary测试web对话框
  • (转)EOS中账户、钱包和密钥的关系
  • (转)h264中avc和flv数据的解析
  • (转)shell调试方法
  • .NET Standard / dotnet-core / net472 —— .NET 究竟应该如何大小写?
  • .NET 依赖注入和配置系统
  • .Net6支持的操作系统版本(.net8已来,你还在用.netframework4.5吗)
  • .net分布式压力测试工具(Beetle.DT)
  • .NET项目中存在多个web.config文件时的加载顺序
  • .NET值类型变量“活”在哪?
  • .pub是什么文件_Rust 模块和文件 - 「译」
  • /etc/fstab 只读无法修改的解决办法
  • @PostConstruct 注解的方法用于资源的初始化