js数组去重的两种方法

227 阅读1分钟

总结一下js中数组去重的方法:

1.遍历数组法(indexOf)

实现思路:初始化一个数组,遍历去要重的数组,当值不在新数组的时候(indexOf为-1)就加入该新数组中;

 var arr=[1,4,6,9,2,4,3,9,0,0];
  function unique1(arr){
    var newarr=[];
    for (var i = 0; i < arr.length; i++) {
      if(newarr.indexOf(arr[i])==-1){
        newarr.push(arr[i]);
      }
    }
    return newarr;
  }
  console.log(unique1(arr));  // [1, 4, 6, 9, 2, 3, 0]

2.数组下标判断法

实现思路:如果当前数组的第 i 项在当前数组中第一次出现的位置不是 i,那么表示第 i 项是重复的,忽略掉。否则存入结果数组。

function unique2(arr){
    var newarr=[];
    for (var i = 0; i < arr.length; i++) {
      if(arr.indexOf(arr[i])==i){
        newarr.push(arr[i]);
      }
    }
    return newarr;
  }
  console.log(unique2(arr)); // [1, 4, 6, 9, 2, 3, 0]

原文链接:blog.csdn.net/qq_41999617…