js数组去重

来源:互联网 发布:java在线直播源码 编辑:程序博客网 时间:2024/05/16 05:34

数组去重是js当中经常遇到的,废话不多说上代码。
方法一:

    function getNewArr(arr) {        var newArr = [];        for(var i =0;i<arr.length-1;i++){            if(newArr.indexOf(arr[i]) == -1){                newArr.push(arr[i]);            }        }        return newArr;    }

方法二:
给数组排序,排序之后,重复的值只能是在旁边出现

function getNewArr(arr) {        arr.sort();        var newArr = [];        for(var i =0;i<arr.length-1;i++){            if(arr[i] == arr[i+1]){                continue;            }            newArr.push(arr[i]);        }        return newArr;    }

方法二:

Array.prototype.unique1 = function(){ var res = [this[0]]; for(var i = 1; i < this.length; i++){  var repeat = false;  for(var j = 0; j < res.length; j++){   if(this[i] == res[j]){    repeat = true;    break;   }  }  if(!repeat){   res.push(this[i]);  } } return res;}

这种方法会改变数组的原始属性,如果用for-in循环遍历数组的时候会有问题,会多遍历一个属性,但并不是我们想要的。

原创粉丝点击