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

js数组去重

在JavaScript中,有很多方法可以用来去除数组中的重复项。以下是一些常见的方法:

方法一:使用Set

Set是ES6中的新数据类型,它只存储唯一值。因此,我们可以利用这一特性来去重。

let array = [1, 2, 3, 2, 1, 4, 3, 5, 4];
let uniqueArray = [...new Set(array)];
console.log(uniqueArray);  // 输出:[1, 2, 3, 4, 5]

方法二:使用Array.prototype.filter

可以通过filter方法,根据数组中元素的唯一性来过滤出重复的元素。

let array = [1, 2, 3, 2, 1, 4, 3, 5, 4];
let uniqueArray = array.filter((value, index, self) => {return self.indexOf(value) === index;
});
console.log(uniqueArray);  // 输出:[1, 2, 3, 4, 5]

方法三:使用Array.prototype.reduce

还可以通过reduce方法,将数组转换成一个对象,对象的键是数组中的元素,值是该元素出现的次数。然后,通过过滤出值为1的键,取得去重后的数组。

let array = [1, 2, 3, 2, 1, 4, 3, 5, 4];
let uniqueArray = array.reduce((acc, curr) => {acc[curr] = (acc[curr] || 0) + 1;return acc;
}, {});let result = Object.keys(uniqueArray).filter(key => uniqueArray[key] === 1);
console.log(result);  // 输出:[1, 2, 3, 4, 5]

这些方法中,使用Set的方法最简洁,但是如果你需要在去重后的数组中保留元素的原始顺序,那么使用filter方法可能更适合你。

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

相关文章:

  • 【前端】根据后端返回的url进行下载并设置文件下载名称
  • 《视觉SLAM十四讲》公式推导(一)
  • 简单好用的解压缩软件:keka 中文 for mac
  • 【UE 插件】UE4 虚幻引擎 插件开发(带源码插件打包、无源码插件打包) 有这一篇文章就够了!!!
  • C# CodeFormer 图像修复
  • Android Studio的笔记--HttpURLConnection使用GET下载zip文件
  • phantom3D模体
  • 贪心算法解决批量开票限额的问题
  • Unity后台登录/获取数据——BestHTTP的使用Get/Post
  • 【Windows日志】记录系统事件的日志
  • 物联网开发学习笔记——目录索引
  • Prometheus:优秀和强大的监控报警工具
  • Appium
  • 自动驾驶学习笔记(五)——绕行距离调试
  • 【Android】VirtualDisplay创建流程及原理
  • Linux服务器快速搭建pytorch
  • 声音克隆,定制自己的声音,使用最新版Bert-VITS2的云端训练+推理记录
  • LeetCode讲解篇之198. 打家劫舍
  • 【下载共享文件】Java基于SMB协议 + JCIFS依赖下载Windows共享文件(亲测可用)
  • 【评分卡实现】应用Python中的toad.ScoreCard函数实现评分卡
  • 【数据结构】双链表的相关操作(声明结构体成员、初始化、判空、增、删、查)
  • 解析找不到msvcp140.dll的5个解决方法,快速修复dll丢失问题
  • 代码管理工具 gitlab实战应用
  • 小谈设计模式(27)—享元模式
  • 网络代理技术:隐私保护与安全加固的利器
  • orgChart.js组织架构图
  • 华纳云:SQL Server怎么批量导入和导出数据
  • 深入了解桶排序:原理、性能分析与 Java 实现
  • 微店店铺所有商品数据接口,微店整店商品数据接口,微店店铺商品数据接口,微店API接口
  • SSL证书能选择免费的吗?