写在前面
今天在实现数组去重时,使用了多种方法实现。在此总结一下数组去重常见方法。
01_多重for循环去重
let arr = [1, 2, 2, 3, 3, 1, 2]
// 多层for循环去重
for (let i = 0;i < arr.length;i++) {
for (let j = i + 1;j < arr.length;j++) {
if (arr[i] === arr[j]) {
arr.splice(j, 1)
}
}
}
console.log(arr) //[1,2,3]
02_includes() + for循环去重
let arr = [1, 2, 2, 3, 3, 1, 2, 1]
let newArr = [] // 借助新数组进行去重
// indexOf() + for循环去重
arr.forEach((item, i) => {
if (!newArr.includes(item)) {
newArr.push(item)
}
})
console.log(newArr) // [1,2,3]
03_indexOf() + filter循环去重
let arr = [1, 2, 2, 3, 3, 1, 2, 1]
// indexOf + filter循环去重
let newArr = arr.filter((item, i) => {
return arr.indexOf(item) === i
})
console.log(newArr) // [1,2,3]
04-indexOf() + for循环去重
let arr = [1, 2, 2, 3, 3, 1, 2, 1]
let newArr = [] // 借助新数组
//indexOf()+for循环去重
arr.forEach((item, index) => {
if (arr.indexOf(item) == index) {
newArr.push(item)
}
})
console.log(newArr) [1,2,3]
05-indexOf() + for循环去重2
let arr = [1, 2, 2, 3, 3, 1, 2, 1]
let newArr = [] // 借助新数组
// indexOf() + for循环2
arr.forEach((item, index) => {
if (newArr.indexOf(item) === -1) {
newArr.push(item)
}
})
console.log(newArr) // [1,2,3]
06- new Set()
let arr = [1, 2, 2, 3, 3, 1, 2, 1]
// 借助new Set()方法进行去重
console.log([...new Set(arr)]) //[1,2,3]
结尾
综上所述,这几种方法可以快速实现数组去重,你还知道哪些呢?欢迎补充