📜  在 js 中重复数组中的元素 - Javascript (1)

📅  最后修改于: 2023-12-03 15:07:41.610000             🧑  作者: Mango

在 js 中重复数组中的元素 - Javascript

有时候我们需要在一个数组中找出重复的元素,这个过程可以用 Javascript 中的一些简单方法来实现。

方法 1 - 使用 Set

使用 Set 对象来去重,然后将原始数组的长度和去重后的数组长度做比较,如果不相等,说明数组有重复的元素。

const array = ["apple", "banana", "orange", "banana", "pear", "apple"];
const set = new Set(array);
if (array.length !== set.size) {
  console.log("Array contains duplicate elements!");
}
方法 2 - 使用 reduce 和 includes

reduce() 方法通过遍历数组将所有元素转化为单个值。在这个例子中我们把 reduce() 方法用于检查是否有重复的元素,并通过 includes() 方法检查元素是否已经在新数组中出现过。

const array = ["apple", "banana", "orange", "banana", "pear", "apple"];

const newArray = array.reduce((accumulator, current) => {
  if (!accumulator.includes(current)) {
    accumulator.push(current);
  }
  return accumulator;
}, []);

if (array.length !== newArray.length) {
  console.log("Array contains duplicate elements!");
}
方法 3 - 使用 filter 和 indexOf

filter() 方法可以通过测试函数来筛选数组中的元素,并返回符合条件的元素组成的新数组。在这个例子中我们把 filter() 方法用于检查是否有重复的元素,并通过 indexOf() 方法检查元素是否已经在新数组中出现过。

const array = ["apple", "banana", "orange", "banana", "pear", "apple"];

const newArray = array.filter((current, index) => {
  return array.indexOf(current) === index;
});

if (array.length !== newArray.length) {
  console.log("Array contains duplicate elements!");
}

以上就是在 JavaScript 中重复数组中的元素的方法,你可以根据你的具体需求来选择适合你的方法。