数组去重的方法

ES6的newSet(...arr)
一、简单的去重方法

//新建一个数组,遍历传入数组,值不在新数组就push进该数组中
function uniq(arr){
    var temp = [ ];
    for(var i = 0; i < arr.length; i++){
        if(temp.indexOf(arr[i]) == -1){
            temp.push(arry[i])
        }
    }
    return temp
}

二、优化遍历数组法

//将数组中无重复的最右一值放入新数组
function uniq(arr){
    var temp =[]
    var index =[]
    var l =arr.length
    for(var i = 0 ;i

三、数组下标法

//还是得调用“indexOf”性能跟方法1差不多,
// 实现思路:如果当前数组的第i项在当前数组中第一次出现的位置不是i
//那么表示第i项是重复的,忽略掉。否则存入结果数组。
function uniq(array){
    var temp = [];
    for(var i = 0; i < array.length; i++) {
        //如果当前数组的第i项在当前数组中第一次出现的位置是i,才存入数组;否则代表是重复的
        if(array.indexOf(array[i]) == i){
            temp.push(array[i])
        }
    }
    return temp;
}

你可能感兴趣的:(数组去重的方法)