JS数组去重

  • Set

<script>
        var arr=[1,2,3,4,5,4,6,5,0]

        //Set
         function unique(arr){
             return Array.from (new Set(arr))
             //OR
             return [...new Set(arr)]
         }
         console.log(unique(arr));
    </script>
    

  • 循环

//循环*2

        function unique(arr){
            for(var i = 0; i < arr.length;i++){
                for(var j = i+1; j< arr.length;j++){
                    if(arr[i]===arr[j]){
                        arr.splice(j,1)
                        j--
                        arr.length--
                    }
                }
            }
            return arr
        }
        console.log(unique(arr))
  • indexOf
   //indexOf

        function unique(arr){
            var arr1 =[]
            for(var i =0 ; i<arr.length;i++){
                if(arr1.indexOf(arr[i]) === -1){
                    arr1.push(arr[i])

                }
            }
            return arr1
            
        }
        console.log(unique(arr))
  • includes

    function unique(arr){
                var arr1 =[]
                for(var i =0 ; i<arr.length;i++){
                    if(!arr1.includes(arr[i])){
                        arr1.push(arr[i])
                    }
                }
                return arr1          
           }
            console.log(unique(arr))
  • filter

function unique(arr){
            return arr.filter(function (item, index){
                //元素在数组中第一次出现的索引值
                //e.g.原始索引值 0 1 2 3 ...
                //    新数组索引值 0 1 2 1 ...
                return arr.indexOf(item,0) === index
            })
        }
        console.log(unique(arr));

 

posted @ 2022-03-24 21:11  Clematis  阅读(26)  评论(0)    收藏  举报