1.for循环,while循环去重
var arr1=[]; // var arr=[1,1,2,2,3,4,5,5]; // var j=0; // arr1[0]=arr[0]; while( i<arr.length){ if(arr[i]!==arr1[j]){ arr1.push(arr[i]); j++; } i++; } // for(var i=1;i<arr.length;i++){ // if(arr[i]!==arr1[j]){ // arr1.push(arr[i]); // j++; // } // }
2.sort排序去重
var arr1=[]; var arr=[1,1,9,2,5,4,5,5]; arr.sort(); //console.log(arr); var temp=[arr[0]]; //console.log(arr); for(var i=0;i<arr.length;i++){ if(arr[i]!==temp[temp.length-1]){ temp.push(arr[i]); } } console.log(temp);
3.用indexof查询的时候去重
var arr1=[]; var array=[1,1,9,2,5,4,5,5]; for(var i = 0; i < array.length; i++) { if(array.indexOf(array[i]) == i){ arr1.push(array[i]) } } console.log(arr1)
4.ES6中的set去重
var arr2=[1,2,2,3,3,3,4,4];
var arr=[...new Set(arr2)];
console.log(arr);
5.for循环去重(用删除法)
var arr =[1,2,2,2,2,3,3,4,2,2,4,4,4];
for(var i=0;i<arr.length-1;i++){
for(var j=i+1;j<arr.length;j++){
if(arr[i]==arr[j]){
arr.splice(j,1);
j--;
}
}
}