1. 程式人生 > >JS實現陣列去重的方法

JS實現陣列去重的方法

1.使用ES6的Set進行去重

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>陣列去重</title>
    </head>
    <body>
        <script type="text/javascript">
            function array_dedup(arr){
                return Array.from(new Set(arr));
            }
            let arr=array_dedup([1,2,3,3,4,5,5,6]);
            console.log(arr);//1,2,3,4,5,6
            
        </script>
    </body>
</html>

使用此方法非常簡單,通俗易懂。該方法主要利用了Set內部結構的原理,然後通過Array.from()方法將set轉換為陣列,一點就通。

2.使用indexof去重

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>陣列去重</title>
    </head>
    <body>
        <script type="text/javascript">
            let arrs=[1,2,3,4,5,5,6];
            function arraydedep(arr){
                let temp=[];
                for(let i=0;i<arr.length;i++){
                    if(temp.indexOf(arrs[i])==-1){
                        temp.push(arrs[i])
                    }    
                }
                return temp;
            }
            let arr=arraydedep(arrs);
            console.log(arr);//1,2,3,4,5,6
        </script>
    </body>
</html>

這一種方法可能在我開發過程中遇到最多的方法吧!

3.擴充套件運算子和Set實現去重

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>陣列去重</title>
    </head>
    <body>
        <script type="text/javascript">
            let arr=[1,2,2,3,3,4,5];
            let unique=[...new Set(arr)];
            console.log(unique);//輸出1,2,3,4,5
            
        </script>
    </body>
</html>

此方法更是舒服,程式碼簡單,容易上手和閱