一、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]