首页 > 其他分享 >js Set 去重优化

js Set 去重优化

时间:2023-03-11 22:24:45浏览次数:33  
标签:set const option 数据 ids js Set 优化

场景:往tempListExtra塞入数据,返回过滤后的数组。

const arr = [...tempListExtra, ...extraOpt];
const set = new Set();
const duplication = arr.filter((item: any) => {
  if (set.has(item.code)) {
    return false;
  }
  set.add(item.code);
  return true;
});

场景:使用antd的select,当数据是通过接口请求,并且携带分页或者搜索条件时(也就是初次不会展示全数据)

<Select
  showSearch
  mode="multiple"
  placeholder="请选择"
  optionFilterProp="label"
  onSearch={(value) => {
    api(value);
  }}
  options={taskObjOpts}
  onChange={(value, option: any) => {
    // 这里的value会返回所有的ids,包括未在当前查询的数据
    // option则是,如果当前的数据则返回正常,非当前数据返回是{},就会存在
    // [{},{},{正常数据}]
  }}
/>;

所以考虑把ids储存起来,option过滤{}数据保存起来,再通过Set方式去重获取到当前选中的数据

const set = new Set<number>(ids);
const checkedList = options.filter((extra) =>
  set.has(extra.id)
);

标签:set,const,option,数据,ids,js,Set,优化
From: https://www.cnblogs.com/beilo/p/17207175.html

相关文章

  • Rosetta scoring
    参考:https://www.rosettacommons.org/demos/latest/tutorials/scoring/scoring介绍Rosetta有一个被称为ref2015(默认打分函数)的优化能量函数或打分函数,用于计算由L-氨基酸......
  • ModelViewSet的使用ViewSetMixin源码分析
    1.ModelViewSet的使用:   2.ModelViewSet的使用_urls中查询所有actions中{‘get’_‘list’}list的源码来源:   3.ModelViewSet的使用_urls中新增数据acti......
  • js 分钟 转 小时
     1functionminute(75){2if(MM<0){3return''4}5varss=MM%606ss<10?(ss='0'+s......
  • redis数据类型-set类型
    不存在重复元素的集合常用场景去重用户画像标签常用命令SADDkeymember...为set增加元素SCARDkey返回set中元素的数量SDIFFkey1key2返回两个set的差......
  • jvm参数介绍以及参数优化
    java-Xms64m#JVM启动时的初始堆大小-Xmx128m#最大堆大小-Xmn64m#年轻代的大小,其余的空间是老年代-XX:MaxMetaspaceSize=128m#-XX:CompressedClassSpaceSize......
  • Solution Set -「PTS Simus」“待天地再静默一秒”
    目录03.11A.太阳照常升起B.丧钟为谁而鸣C.老人与海\[\mathfrak{Defining~\LaTeX~macros\dots}\newcommand{\floor}[1]{\left\lfloor#1\right\rfloor}\newcommand{\l......
  • Day02-js高级
    回顾1.html作用:书写网页的,整个网页的架构2.html属于不用编译的语言,直接使用浏览器运行即可3.html都是由预定义的标签: 1)超链接标签:<ahref="跳转服务器地址"target="_s......
  • Day03-Ajax&Json
    AJAX&JSON一.AJAX的概述1.1什么是ajax导入02_代码\授课素材\01_ajax素材\同步\day0301_maven-usermanager项目到idea中演示同步弊端。同步:异步:1.AJAX=Asynchr......
  • node.js安装与使用
    Node.js点击下载历史版本#查看版本node-vnpm-v#npm升级npminstall-gnpm卸载#控制面板卸载node.js#删除`C:\Users\cherf\AppData\Roaming`目录下的......
  • 如何使用webgl(three.js)实现3D消防、3D建筑消防大楼、消防数字孪生、消防可视化解决
    序:又是很久没出随笔文章了,一篇文章有时候整理一天,实在是抽不出来时间。最近在回顾几年前的项目时,发现这个智慧三维消防可视化项目很有回顾价值,索性就拿出来讲讲......