JS实现数组去重常见方法

写在前面        

今天在实现数组去重时,使用了多种方法实现。在此总结一下数组去重常见方法。


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]

结尾

综上所述,这几种方法可以快速实现数组去重,你还知道哪些呢?欢迎补充

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值