两个数组去重的JS代码

  第一种:

  

复制代码 代码如下:

  function unique (arr){

  var obj = {},newArr = [];

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

  var value = arr[i];

  if(!obj[value]){

  obj[value] = 1;

  newArr.push(value);

  }

  }

  return newArr;

  }

  这个方法把数组的值存入对象,所以,在数组存在对象队员的时候,运行失败(对象作为对象的键会被转化为字符串)。

  第二种方法:

  

复制代码 代码如下:

  function unique (arr){

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

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

  if(arr[i] === arr[j]){

  arr.splice(j,1);

  j--}

  }

  }

  return arr;

  }

  即使传入的数组包含对象,这个方法也支持,注意‘===',但是使用了嵌套循环,性能会劣于第一种方法。