数组去重的五种常用方法

最近在刷题的时候遇到了好几次数组去重的问题,现在简单总结一下数组去重的几种方法。

1.使用set方法

 <script>
        let arr=[1,2,2,2,6,6,8,8,9]
        let newarr=Array.from(new Set(arr))//注意set首字母大写哦,小写会报错
        console.log(newarr)
    </script>

在这里插入图片描述

2.双for循环+splice方法

 let arr=[1,2,2,2,6,6,8,8,9]
        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)
                    j--
                }
            }
        }
        console.log(arr)

在这里插入图片描述

3.使用includes方法


        let arr=[1,-2,2,2,6,6,8,-8,9]
        let newarr=[]
        for(let i=0;i<arr.length;i++){
            if(!newarr.includes(arr[i])){
                newarr.push(arr[i])
            }
        }
        console.log(newarr)

在这里插入图片描述

4.sort方法,相邻元素对比

 let arr=[1,3,1,0,6,6,2,2]
        arr=arr.sort()//sort方法默认是升序,可以自己选择升序或降序
        let newarr=[arr[0]]
        for(let i=1;i<arr.length;i++){
            if(arr[i]!==arr[i-1]){
                newarr.push(arr[i])
            }
        }
        console.log(newarr)

在这里插入图片描述

5.indexof()方法去重

 let arr=[11,2,2,11,8,9,8,9]
        let newarr=[]
        for(let i=0;i<arr.length;i++){
            if(newarr.indexOf(arr[i])===-1){
                newarr.push(arr[i])
            }
        }
        console.log(newarr)

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值