数组中去除重复的数据有很多方法,比如一个一个的数据比较,一样的去掉,不一样的保留。但是在JavaScript中可以用对象的属性实现,并且是比较简单的!
实现思想:1把数组转成一个js对象;2把数组中的值,变成js对象中的key; 3把对象在还原成数组
var arr =[2,1,2,10,2,4,3,5,5,1,10,13,3,2,5,3,4,6,7,10];//定义一个数组
function toObject(arr){
var obj = new Object();
var j;
for(var i=0,j=arr.length;i<j;i++){
obj[arr[i]]=true;
}
return obj;
}
//把这个对象转成数组
function keys(obj){
var arr=[];
for(var attr in obj){
if(obj.hasOwnProperty(attr)){
arr.push(attr);
}
}
return arr;
}
alert(keys(toObject(arr)));
</script>