数组去重

1、Set去重

var arr = [1,2,2,4,3,4,1,3,2,7,5,6,1]

var newArr = new Set(arr); // { 0:1, 1:2, 2:4, 3:3, 4:7, 5:5, 6:6 }

2、indexOf

function fn( arr ){

  let newArr = [];

  arr.forEach( (val)=>{

    if ( newArr.indexOf(val) == -1 ){

      newArr.push( val );

    }

  } );  

  return newArr;

}
3、普通去重
var arr = [1,2,2,4,3,4,11,3,2,7,5,6,1];
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);

    }  

  }
}

4、键值去重

function fn( arr ){

  let arr1 = [],

  arr2 = [];

  arr.forEach( (val)=>{

    arr1[ val ] = val;

  } );

  // arr1数组会存在空的情况

  // 所以返回arr2

  arr1.forEach( (val)=>{

    if (!!val){

      arr2.push( val );

    }

  } );  

  return arr2;

}

5、sort排序后去重

function fn( arr ){

  let newArr = [];

  arr.sort( (a,b)=>{

    return a-b;

  } );

  arr.forEach( (val, index)=>{

    if ( val != arr[index+1] ){

      newArr.push(val);

    }

  } );  

  return newArr;

}

 

 

[1,2,2,4,3,4,1,3,2,7,5,6,1]

转载于:https://www.cnblogs.com/sunww/p/11347332.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值