本文章列举了多个数组去重的方式。接下来会针对代码一一讲解
方法1
[...new Set(arr)]
-
方法2
function fn1() {
const result = []
arr.forEach((item) => {
if (!result.includes(item)) result.push(item)
})
return result
}
-
方法3
function fn2() {
const double = []
const other = []
arr.forEach((item) => {
if (arr.indexOf(item) === arr.lastIndexOf(item)) {
other.push(item)
} else if (!double.includes(item)) {
double.push(item)
}
})
return double.concat(other)
}
利用indexOf 以及lastIndexOf进行判断,如果不相等说明有重复值
方法4
function fn3() {
return arr.filter((item, index) => {
return arr.indexOf(item) === index
})
}
利用filter以及indexOf进行筛选