数组去重的三种方法

//1.遍历数组法,通过indexOf检索临时新建的数组,检索值为arr数组里面的值,没有则加入新建数组
var arr=[1,4,3,5,1,2,5,4,3,2,1,4,2,6];
var n=[];
for(var i=0;i<arr.length;i++){
if(n.indexOf(arr[i])==-1){
n.push(arr[i]);
}
n.sort(function sortNumber(a,b){return a - b});
}
alert(n);

 

//2.对象键值对方式,属性名为arr[i],属性值也为arr[i]
var arr=[1,4,3,5,1,2,5,4,3,2,1,4,2,6,'上海','上海'];
var obj={};
for(var i=arr.length-1;i>=0;i--){
if(obj[arr[i]]==arr[i]){               //对象值是数字,只能用[]
arr.splice(i,1);
}
obj[arr[i]]=arr[i];
}
alert(arr);

 

//3.排序后相邻去除法

var arr=[1,1,3,1,2,4,6,2,'s','s'];
arr.sort(function(a,b){return a - b});
var n=[arr[0]];
for(var i=1;i<arr.length;i++){
if(arr[i]!=n[n.length-1]){
n.push(arr[i]);
}
}
alert(n);

posted @ 2018-02-23 22:59  流花  阅读(277)  评论(3)    收藏  举报