首页 > 编程语言 > 详细

数组去重

时间:2019-08-13 21:30:39      阅读:81      评论:0      收藏:0      [点我收藏+]

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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!