首页 > 其他分享 >js处理数据(过滤)

js处理数据(过滤)

时间:2024-06-21 16:58:32浏览次数:12  
标签:false 处理 tempData js item prefix 过滤 filteredItems type

复选框的值这里为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;
}

只要对应传值就好了

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

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

标签:false,处理,tempData,js,item,prefix,过滤,filteredItems,type
From: https://blog.csdn.net/weixin_49720804/article/details/139862924

相关文章

  • spring cloud gateway根据版本过滤可用实例
    根据版本过滤实例:importcn.hutool.core.collection.CollUtil;importlombok.extern.slf4j.Slf4j;importorg.apache.commons.lang3.StringUtils;importorg.springframework.cloud.client.ServiceInstance;importorg.springframework.cloud.client.loadbalancer.Request;......
  • Web服务请求的几种异步处理方式
    我们先通过下面两张图来看下网络Web请求的异步处理和同步请求处理的区别:在上面两个流程图中有三个角色:客户端、Web容器和业务后端服务。两个流程中客户端对Web容器的请求,都是同步的。因为它们在请求客户端时都处于阻塞等待状态(涉及到用户态和内核态的切换),并没有进行异步处......
  • Node.js文字识别接口、文字录入、在线免费文字识别接口
    很多时候,“懒”并不是贬义词,只是人们在处理一些事情的时候,只想流程再简化一点,等待的时间再少一点,完成的速度再快一点。譬如二十几年前,无论严寒酷暑,人们想买东西只能走出家门,而且你所去的商店或者市场的产品可能并不尽如人意。反观现在,人们足不出户,可以通过电商平台货比N家,各种......
  • 如何备考软考信息技术处理员
     软考信息技术处理员的难度不大,上午题下载app软考通,把各种类型的题目都刷一遍,大差不差都能过!!下午题就是正常的WPS操作,熟悉表格,word、ppt等操作,很简单的,不用太紧张!!有问题请大家积极留言点赞收藏!!我们一起讨论!!!上午题:信息处理基础知识1.信息技术基本概念1.1信息社会与信息技术应......
  • Swagger文档渲染,将Filter过滤器中抛出的异常错误消息返回前端显示
    一、应用场景在swagger通过/v2/api-docs获取到后端接口数据后,使用过滤器对/v2/api-docs请求进行拦截,然后对获取到的数据进行处理,当在处理过程中对Filter过滤器中抛出的异常错误消息进行捕获,并将捕获到的异常错误消息返回到前端二、示例代码@OverridepublicvoiddoFilte......
  • Node.js车牌识别、文档识别、OCR API-自动化录入信息
    为什么人工智能如此受关注?因为人工智能技术在图片处理以及在感知与认知等领域的不断突破,带来更高的效率。没错,智能机器人、人工智能技术衍生的产品已经开始替代人的工作。文字录入工作较为显著,OCR技术成为手动录入的杀手锏,图片识别、扫描识别多样化的解决方案层出不穷。......
  • XM外汇平台如何处理不活跃账户
    XM作为全球知名外汇平台,吸引各地的交易者在此平台交易,其中也不乏很多比较谨慎的交易者选择先观望,长时间选择观望的交易者账户会被变为不活跃状态。那么XM外汇平台的不活跃账户会被如何处理呢?本文就给各位交易者解答一下这个问题。交易账户在长时间内没有进行任何操作......
  • 【React篇】父组件渲染时避免重复渲染子组件的3种处理方法
    在React中,父组件渲染时要避免重复渲染子组件,可以使用以下方法:使用React.memo(仅适用于函数式组件)或PureComponent(适用于类组件):这些方法可以帮助你创建在接收到新的props时仅在有必要的情况下重新渲染的组件。它们通过浅比较新旧props来判断是否需要重新渲染。对于......
  • Java串口框架jSerialComm替换rxtxcomm
    问题最开始使用的是rxtxcomm框架,部署时还要手动放驱动文件,而且后面没有进行维护,导致一些一些新系统不再支持,需要手动打包。<dependency><groupId>org.bidib.jbidib.org.qbang.rxtx</groupId><artifactId>rxtxcomm</artifactId><version>2.2</version><sc......
  • 幼儿园报名(抢注)js脚本
    测试页面:https://www.wjx.cn/vm/YsVYnK1.aspxdocument.querySelector("#q1").value="姓名";//性别;//constsex1={男:"#q2_1",女:"#q2_2"};//document.querySelector(sex1.男).click();document.querySelector("#q2_1").cl......