去除数组重复元素

  • 给数组去除重复元素(原生js)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    //         去除数组重复元素
    var arr = [1,2,2,3,5,4,8,6,4,2,47,5,9,3,20,3];
    //将数组转为对象,将key传入对象,对象中key值不允许重复
    var toNewObject = function(arr){
    var obj = {};
    var len = arr.length;
    for(var i = 0;i<len;i++){
    obj[arr[i]] = true;
    }
    return obj;
    }
    //将对象转成数组
    var toNewArr = function(obj){
    var arr = [];
    for(var attr in obj){
    if(obj.hasOwnProperty(attr)){
    arr.push(attr);
    }
    }
    return arr;
    }
    //通过函数输出筛选后的数组
    var unique = function(arr){
    var obj = toNewObject(arr);
    var newArr = toNewArr(obj);
    return newArr;
    }
    console.log(unique(arr));

结果