美文网首页
js实现去重

js实现去重

作者: Victor_818 | 来源:发表于2019-05-21 23:43 被阅读0次

方法一:

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) ]

相关文章

  • js实现去重

    方法一: 方法二: 方法三: 方法四: 方法五:

  • js实现数组去重

    //借助indexOf()方法判断此元素在该数组中首次出现的位置下标与循环的下标是否相等 方法一: functio...

  • js实现数组去重

    定义一个新数组,判断旧数组中的元素是否在新数组中已存在 对数组进行排序后,比较前后两个相邻元素 根据对象的属性不重...

  • js实现数组去重

  • js实现数组去重

  • JS数组去重算法实现

    如:魅族笔试题 本文就 js 如何实现数组去重整理出5种方法,并附上演示Demo 以及 源码。 1.遍历数组法 最...

  • js代码题

    js对象的深度克隆 js数组去重 js常用设计模式的实现思路,单例,工厂,代理,装饰,观察者模式等

  • js去重

    var arr2 = [ { name: "name1", num: "1" }, { name: "name...

  • JS实现数组去重方法总结

    话不多说,我们这就进入正文。第一种:使用forEach从传入参数的下一个索引值开始寻找是否存在重复,如果不存在重复...

  • 原生 js 实现对象数组去重

    最近研究了一下如何实现对象数组的去重,这里分享一下经验,本文没有使用诸如 lodash 之类的第三方库,仅使用 E...

网友评论

      本文标题:js实现去重

      本文链接:https://www.haomeiwen.com/subject/xyrezqtx.html