js实现去重

2019-05-21  本文已影响0人  Victor_818

方法一:

var arr=[2,8,5,0,5,2,6,7,2];
function unique1(arr){
  var hash=[];
  for (var i = 0; i < arr.length; i++) {
     if(hash.indexOf(arr[i])==-1){
      hash.push(arr[i]);
     }
  }
  return hash;
}

方法二:

function unique2(arr){
  var hash=[];
  for (var i = 0; i < arr.length; i++) {
     if(arr.indexOf(arr[i])==i){
      hash.push(arr[i]);
     }
  }
  return hash;
}
// 可以用filter实现类似效果
arr.filter((item,index,self)=>{
    return self.indexOf(item) === index
})

方法三:

function unique3(arr){
  var hash=[];
  for (var i = 0; i < arr.length; i++) {
    for (var j = i+1; j < arr.length; j++) {
      if(arr[i]===arr[j]){
        ++i;
        j = i;
      }
    }
      hash.push(arr[i]);
  }
  return hash;
}

方法四:

function uniq(arr){
  let obj = {};
  let data = [];
  arr.forEach(item => {
    if(!obj[item]){
      obj[item] = true;
      data.push(item);
    }
  });
  return data;
}

方法五:

var unique4 = [ ...new Set(arr) ]
上一篇 下一篇

猜你喜欢

热点阅读