PHP前端开发

js中数组去重的方法

百变鹏仔 3天前 #JavaScript
文章标签 数组
在 javascript 中,从数组中删除重复项的方法包括:使用 set()、使用 filter() 检查索引、使用 foreach() 检查索引、使用 reduce() 累积不重复值。

如何在 JavaScript 中从数组中删除重复项

在 JavaScript 中,从数组中删除重复项有以下几种常见方法:

1. 使用 Set()

Set() 是一个内置集合,它可以自动删除重复值。使用 Set() 从数组中删除重复项的步骤如下:

const arr = ['a', 'b', 'c', 'a', 'd'];const uniqueArr = [...new Set(arr)]; // [ 'a', 'b', 'c', 'd' ]

2. 使用 filter()

filter() 方法可以过滤数组中的元素,并返回一个新数组,其中只包含满足给定条件的元素。要使用 filter() 从数组中删除重复项,可以如下使用:

const arr = ['a', 'b', 'c', 'a', 'd'];const uniqueArr = arr.filter((item, index, self) => self.indexOf(item) === index); // [ 'a', 'b', 'c', 'd' ]

3. 使用 forEach() 和 index

可以使用 forEach() 方法遍历数组中的每个元素,并使用索引来检查是否已包含该元素。如果已包含,则将其从数组中删除。

const arr = ['a', 'b', 'c', 'a', 'd'];arr.forEach((item, index, self) => {  if (self.indexOf(item) !== index) {    arr.splice(index, 1);  }}); // [ 'a', 'b', 'c', 'd' ]

4. 使用 reduce()

reduce() 方法可以将数组中的元素累积为一个最终值。要使用 reduce() 从数组中删除重复项,可以如下使用:

const arr = ['a', 'b', 'c', 'a', 'd'];const uniqueArr = arr.reduce((acc, item) => {  if (!acc.includes(item)) {    acc.push(item);  }  return acc;}, []); // [ 'a', 'b', 'c', 'd' ]