数组去重

方法一:indexOf

var arr1 = [1,1,3,3,2,2,2];
function unique(arr) {
    var newArr = [];

    if (!arr) {
        return false;
    }

    for (var i =0; i< arr.length; i++) {
        newArr.indexOf(arr[i]) < 0 ? newArr.push(arr[i]) : '';
    }
    return newArr;
}
console.log(unique(arr1));

方法二:对象

var arr1 = [1,1,3,3,2,2,2];
function unique(arr) {
    var newArr = [],
        temp = {};

    if (!arr) {
        return false;
    }

    for (var i =0; i< arr.length; i++) {

        if (!temp[arr[i]]) {
            temp[arr[i]] = 1;
            newArr.push(arr[i]);
        }
    }
    return newArr;
}
console.log(unique(arr1));

方法三:键值互换(该方法会把数组中的数值类型的值转换为字符串)

var arr1 = [1,1,3,3,2,2,2];
function unique(arr) {
    var newArr = [],
        temp = {};

    arr.forEach(function (val) {
        temp[val] = 1;
    });
    console.log(temp)
    for(var item in temp) {
        newArr.push(item);
    }
    return newArr;
}
console.log(unique(arr1));
//["1", "2", "3"]

  

posted @ 2017-07-07 15:23  迷失的心  阅读(119)  评论(0)    收藏  举报