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

js实现对象数组去重

数组去重,一般会在面试的时候才会碰到,要求手写数组去重方法的代码。如果是被提问到,数组去重的方法有哪些?你能答出其中的10种,面试官很有可能对你刮目相看。

在实际项目中碰到的数组去重,一般都是后台去处理,很少让前端处理数组去重。虽然运用到的概率较低,但还是需要了解一下,以防面试的时候被问到。 

 在项目中定义对象数组是非常常见的,这就免不了要对对象数组进行去重。当然不能简单的使用===来解决问题,因为这时候数组中的类型为对象类型,即使完全相同的两个对象也不相等的。下面的例子说明一切:

1.数字数组去重 

var arr = [11,11,22,33]
function unique(arr) {return arr.filter(function (ele, index, array) {return array.indexOf(ele) === index})
}
unique(arr);

2.对象数组去重 

var objArr = [{name:1,num:1},{name:1,num:1},{name:2,num:2}];
const removeDuplicateObj = (arr) => {let obj = {};arr = arr.reduce((newArr, next) => {obj[next.id] ? "" : (obj[next.id] = true && newArr.push(next));return newArr;}, []);return arr;
};
removeDuplicateObj(objArr);

3. 将字符串转成数组 

Array.from("将字符串转成数组");//["将", "字", "符", "串", "转", "成", "数", "组"]

4.找到数组的最大和最小值,仅适用于单数字数组 

let min = arr.sort((a, b) => a - b)[0];
let max = arr.sort((a, b) => b - a)[0];

5.将一个数组中的每个undefined,‘’,0,false,null的元素过滤掉 

let list = [1, "", undefined, 11341];
arr.filter(Boolean); //[1,11341]

 

 

 

 

 

 

 

 

 

http://www.lryc.cn/news/229378.html

相关文章:

  • 2023 极术通讯-安谋科技发布“山海”S20F安全解决方案,持续加码智能汽车“芯”赛道
  • GRPC学习
  • c++ latch 使用详解
  • linux 下正确使用cp命令复制目录
  • CTF----Web真零基础入门
  • css实现元素四周阴影
  • 《QT从基础到进阶·二十五》界面假死处理
  • 卷积神经网络(1)
  • Mysql中名叫infomaiton_schema的数据库是什么东西?
  • Django(复习篇)
  • MySQL里对时间的加减操作及常用语法
  • 『MySQL快速上手』-⑨-复合查询
  • 高并发架构设计(三大利器:缓存、限流和降级)
  • ElasticSearch7.x - HTTP 操作 - 文档操作
  • [数据结构大作业]HBU 河北大学校园导航
  • 立体库堆垛机控制程序手动功能实现
  • git commit提交报错
  • OpenSIPS自定义统计项目
  • python数据结构与算法-02_数组和列表
  • 计算机网络基础知识-网络协议
  • 【Vue3】scoped 和样式穿透
  • Python 邮件发送(163为例)
  • BlendTree动画混合算法详解
  • 2013年01月16日 Go生态洞察:并发不是并行
  • CRM销售管理软件哪个好,该如何选择?(一)
  • Django路由层解析
  • 高教社杯数模竞赛特辑论文篇-2023年A题:定日镜场的输出功率优化(附获奖论文及MATLAB代码实现)(中)
  • libusb获取Windows设备实例路径DevicePath
  • File Upload
  • Qt数据库之QTabelModel