YY软件园-为您提供一个绿色下载空间!
当前位置: 首页 > 资讯 > 活动

程序员的对象数组去重秘籍,三种方法让你轻松搞定

来源:YY软件园 更新:2023-12-08 06:01:18

用手机看

扫描二维码随时看1.在手机上浏览
2.分享给你的微信好友或朋友圈

对象数组去重,这是每个程序员都会遇到的问题。今天,我要和大家分享一下我亲身经历的三种方法,希望能对你有所帮助。

方法一:使用Set进行去重

在处理对象数组去重时,我最常用的方法就是使用Set。Set是ES6中新增的数据结构,它可以自动过滤掉重复的元素。具体操作如下:

数组对象去重方法js_数组对象去重newset_对象数组去重

javascript
const arr =[{id:1, name:'Alice'},{id:2, name:'Bob'},{id:1, name:'Alice'}];
const uniqueArr = Array.from(new Set(arr.map(JSON.stringify))).map(JSON.parse);
console.log(uniqueArr);

通过将对象转换为JSON字符串,并利用Set自动过滤掉重复项,最后再将JSON字符串转换回对象,我们就可以得到一个去重后的数组。

数组对象去重newset_对象数组去重_数组对象去重方法js

方法二:使用reduce进行去重

除了使用Set,我们还可以利用reduce方法进行对象数组去重。reduce方法接收一个回调函数和初始值作为参数,在每次迭代时将回调函数的返回值作为下一次迭代的初始值。具体操作如下:

javascript
const arr =[{id:1, name:'Alice'},{id:2, name:'Bob'},{id:1, name:'Alice'}];
const uniqueArr = arr.reduce((acc, cur)=>{
  const isExist = acc.find(item => item.id === cur.id);
  if (!isExist){
    acc.push(cur);
  return acc;
},[]);
console.log(uniqueArr);

在每次迭代时,我们使用find方法判断当前元素是否已存在于累加器中,如果不存在则将其添加到累加器中。最后得到的累加器就是一个去重后的数组。

tokenpocket钱包最新版:https://ynldfybjy.com/yingyong/8933.html

玩家评论

此处添加你的第三方评论代码
Copyright © 2012-2024 YY软件园 版权所有 Powered by EyouCms