js中数组去重的方法
文章标签
数组
在 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' ]