js实现去重

方法一:

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) ]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 简单数组 没啥好说的, ES6的new Set(Array)将数组转化为无重复key的Object, 再Array...
    吴小思被占用阅读 2,229评论 0 0
  • 我经常在听一首歌,就是莱昂纳尔里奇的hello,但在生活中我很少用你好去跟别人打招呼,更不会跟陌生人套近乎,但是从...
    viper44阅读 201评论 1 0
  • 圣经里说:天主使太阳上升,光照善人,也光照恶人;降雨给义人,也给不义之人。 芳华,刚刚看完,一肚子酸楚,一脑子...
    达尔文是头驴阅读 926评论 0 1
  • 想做什么工作?不知道。 有什么兴趣爱好?不知道。 想过什么样的生活?不知道。 感觉对金钱没有任何欲望,对工作没有太...
    摇曳着的远方阅读 334评论 0 1
  • 我家有一只可爱的小兔,这只小究是我生日那天我表哥送给我的生日礼物。它全身白色,所以我给它取了一个好听的名字叫小...
    吴晓彤阅读 584评论 0 0

友情链接更多精彩内容