數組去重

一、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 }io

二、indexOffunction

function fn( arr ){sort

  let newArr = [];let

  arr.forEach( (val)=>{push

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

      newArr.push( val );去重

    }return

  } );  

  return newArr;

}
三、普通去重
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);

    }  

  }
}

四、鍵值去重

function fn( arr ){

  let arr1 = [],

  arr2 = [];

  arr.forEach( (val)=>{

    arr1[ val ] = val;

  } );

  // arr1數組會存在空的狀況

  // 因此返回arr2

  arr1.forEach( (val)=>{

    if (!!val){

      arr2.push( val );

    }

  } );  

  return arr2;

}

五、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]
相關文章
相關標籤/搜索