数组去重的五种常用方法

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

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>

数组去重的五种常用方法_第1张图片

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)

数组去重的五种常用方法_第2张图片

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)

数组去重的五种常用方法_第3张图片

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)

数组去重的五种常用方法_第4张图片

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)

数组去重的五种常用方法_第5张图片

你可能感兴趣的:(JavaScript,javascript,前端,vue.js)