JavaScript数组去重

第一种方法:

思路:

1.创建一个新的数组存放结果

2.创建一个空对象,

3.将数组中的元素作为空对象的属性并对其赋值,每次取出一个元素与对象进行对比,然后到对象中去访问这个属性,

如果能访问到值,则说明重复。则把它存放到结果数组中。

 

function delRepeat(arr) {
        var arrNew=[];
        var o={};
        for (var i = 0; i < arr.length; i++) {
            var key=arr[i];
            if(!o[key]){
                o[key]=1;
                arrNew.push(key);
            }
        }
        return arrNew;
    }
    var arr=[1,2,2,1,5,6,6,8];
    console.log(delRepeat(arr));

 第二种方法:使用ES5中的indexOf方法

 

function delRepeat( array ) {
  var resArray = [], i = 0;
  for ( ; i < array.length; i++ ) {
    if ( resArray.indexOf(  array[ i ] ) == -1 ) {
      resArray.push( array[ i ] );
    }
  }
  return resArray;
} 

 

 

posted @ 2016-07-31 23:30  jineslee  阅读(265)  评论(0编辑  收藏  举报