Set
方法
利用 Set
数据结构可以更简洁和高效地实现数组去重,因为 Set
会自动过滤重复元素
let myArray = [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 8, 8, 8]
function setFunction(arr) {
return [...new Set(arr)]
}
let setArray = setFunction(myArray )
console.log(setArray ); // 1,2,3,4,5,8
filter 方法
利用 filter
方法结合 indexOf
方法来实现数组去重,只保留第一次出现的元素。
function filterFunction(arr) {
return arr.filter((item, index) => arr.indexOf(item) === index)
}
let myArray = [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 8, 8, 8]
let filterArray = filterFunction(myArray)
console.log(filterArray ); // 1,2,3,4,5,8
reduce 方法
使用 reduce
方法可以按顺序逐个遍历数组,并根据条件去重。
这种方法相对灵活,但性能和 filter
方法类似,适合中小型数组。