数组去重的方法:通过直接方法去重、通过对象的属性具有唯一性去重、通过索引值去重、先排序在去重
案例:
(1)索引去重
var arr=[1,1,2,3,2,4];
var newArr=[];
for(var i=0;i<arr.length;i++){
if(newArr.indexOf(arr[i])==-1){
newArr.push(arr[i])
}
}
(2)直接方法去重
var arr=[1,1,2,3,2,4];
for(var i=0;i<arr.length;i++){
for(var j=i+1;j<arr.length;j++){
if( arr[i] == arr[j]){
arr.splice(i,1);
j--
}
}
}
(3)对象属性去重
var arr=[1,1,2,3,2,4];
obj={};
for(var i=0;i<arr.length;i++){
if(obj.hasOwnProperty(arr[i])){
arr.splice(i,1);
i--;
}else{
obj[arr[i]]=1;
}
}
console.log(arr)
(4)先排序再去重
var arr=[1,3,4,52,4,5,4,8,7,6];
var arr1=arr.sort();
for(var i=0;i<arr1.length;i++)
for(var j=i+1;j<arr1.length;j++)
if( arr[i] == arr[j]){
arr.splice(i,1);
j--
}
}
}