js中經常使用的數組去重的方法

js中數組去重的方法

var arr = [1,1,3,4,2,8,3,6,2,2,3]
/*第一種****************************************************/
 function unique(arr) {
            var newArr = []
            for (var i = 0; i < arr.length; i++) {
                if (newArr.indexOf(arr[i]) === -1) {
                    newArr.push(arr[i])
                }
            }
            return newArr
        }
   var result = unique(arr)
    console.log(result)
/*第二種****************************************************/
 function unique(arr){
            return  arr.filter((item,index,arr)=>{
                //indexOf查找的是數組中出現的第一個該元素
                return arr.indexOf(item)===index 
            })
        }
    var result = unique(arr)
    console.log(result)
/*第三種****************************************************/
function unique(arr) {
    return Array.from(new Set(arr))
}
 var result = unique(arr)
 console.log(result)
/*第四種****************************************************/
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]) {
                //刪除相同的那一項,splice改變原數組
                arr.splice(j,1)
                j--
            }
        }
    }
    return arr
}
var result = unique(arr)
console.log(result)