【总结】数组去重的3种方式

数组去重的3种方式

var arr =[1,4,2,3,4,5,6,7,3,4,5,23,2,3,4,5,3,2,3,4,5];
 
function findInArray(n,arr){
for(var i=0; i<arr.length; i++){
if(arr[i]==n){
returntrue;
}
}
returnfalse;
}
 
function removeRep1(arr){//方法1
var arr1 =[];
for(var i=0; i<arr.length; i++){
if(!findInArray(arr[i],arr1)){
arr1.push(arr[i]);
}
}
return arr1;
}
 
function removeRep2(arr){//方法2,先排序,然后将前后相同的元素删除一个,再i--
arr.sort();
for(var i=0; i<arr.length; i++){
if(arr[i]==arr[i+1]){
arr.splice(i,1);
i--;
}
}
return arr;
}
 
function removeRep3(arr){//方法3,运用json里面键不能重复的特性
var json ={};
var arr3 =[];
for(var i=0; i<arr.length; i++){
json[arr[i]]='hello';//json中的每个键就是数组中的值,值都写hello也没关系,可以重复,而json中的键是不能重复的,如果遇到一样的键,会把前面相同的键以及对应的值都覆盖
}
for(var name in json){
arr3.push(Number(name));
}
console.log(arr3);
}
removeRep3(arr);
原文地址:https://www.cnblogs.com/bluefantasy728/p/5661882.html