📅  最后修改于: 2023-12-03 15:07:41.610000             🧑  作者: Mango
有时候我们需要在一个数组中找出重复的元素,这个过程可以用 Javascript 中的一些简单方法来实现。
使用 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!");
}
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!");
}
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 中重复数组中的元素的方法,你可以根据你的具体需求来选择适合你的方法。