当前位置: 首页 > Web前端 > JavaScript

JavaScript数组去重方法

时间:2023-03-26 20:30:01 JavaScript

数组去重在处理数据的时候,往往需要对数组进行去重操作。在这里记下三种最常用的方法。1、ES6中新增的Set()构造函数和...扩展语法Set是JavaScript标准内置对象,是ES6(ES2015)中的新对象。该对象允许存储任何类型的唯一值,无论是原始值还是对象引用。我们可以利用这个特性,使用构造函数Set()对数组进行去重。constarr=['A','B','C','A','B'];constuniqueArr=[...newSet(arr)];控制台日志(uniqueArr);output:['A','B','C']2.使用数组的indexOf()和filter()方法indexOf()方法返回数组中可以找到给定元素的第一个索引,或者-1、对于数组中有重复元素的情况,可以结合这个特性通过filter遍历数组,按照如下代码过滤掉重复元素。constarr=['A','B','C','A','B'];constuniqueArr=arr。filter((item,index)=>index===arr.indexOf(item));console.log(uniqueArr);Output:['A','B','C']indexOf()方法在这里为filter()方法提供判断条件。同理,我们也可以通过其他方式进行判断。3.使用数组的forEach()和includes()方法。这个方法是先初始化一个空数组,用forEach()遍历原数组,然后把字段一个一个push进去。constarr=['A','B','C','A','B'];arr.forEach(i=>{if(!uniqueArr.includes(i)){uniqueArr.push(i)}});console.log(uniqueArr);输出:['A','B','C']这里使用includes()判断uniqueArr中是否已经存在该字段,也可以使用indexOf()等方式判断。