第一种:

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;
}
即使传入的数组包含对象,这个方法也支持,注意‘===’,但是使用了嵌套循环,性能会劣于第一种方法。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-25
  • 2021-12-17
  • 2021-12-26
  • 2021-06-25
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-26
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案