php中文网

js怎么去重数组

php中文网
本文提供了 4 种 javascript 数组去重方法:使用 set 数据结构、使用 object、使用 filter 方法、以及使用 reduce 方法。这些方法都能有效地移除数组中重复的元素,生成一个不包含重复元素的新数组。

js怎么去重数组

如何使用 JavaScript 数组去重

引言
JavaScript 数组中可能会包含重复的元素,在某些情况下,我们需要对其进行去重操作,以获得一个不包含重复元素的新数组。

方法

1. Set

Set 数据结构具有自动去重功能,我们可以利用它来实现数组去重:

const arr = [1, 2, 3, 4, 5, 1, 2];
const uniqueArr = [...new Set(arr)];

console.log(uniqueArr); // [1, 2, 3, 4, 5]

2. Object

对象中的键是唯一的,我们可以利用此特性来去重数组中的元素:

const arr = [1, 2, 3, 4, 5, 1, 2];
const uniqueArr = [];
const obj = {};

arr.forEach(item => {
  if (!obj[item]) {
    obj[item] = true;
    uniqueArr.push(item);
  }
});

console.log(uniqueArr); // [1, 2, 3, 4, 5]

3. Filter

另一种方法是使用 filter 方法,它允许我们根据条件过滤数组中的元素:

const arr = [1, 2, 3, 4, 5, 1, 2];
const uniqueArr = arr.filter((v, i, a) => a.indexOf(v) === i);

console.log(uniqueArr); // [1, 2, 3, 4, 5]

4. Reduce

Reduce 方法也可以用于去重数组,将其累积为一个不包含重复元素的新数组:

const arr = [1, 2, 3, 4, 5, 1, 2];
const uniqueArr = arr.reduce((acc, cur) => {
  if (!acc.includes(cur)) {
    acc.push(cur);
  }
  return acc;
}, []);

console.log(uniqueArr); // [1, 2, 3, 4, 5]

以上就是js怎么去重数组的详细内容,更多请关注php中文网其它相关文章!