// 方法三(利用对象的属性值相同会被覆盖的特点)
var arr =[1,2,3,2,1,5,3,5,4,7,4,8,5,8,5,7,5];
// 新建一个对象
var obj ={};
// 再新建一个数组
var arr1 = [];
for (var i =0;i<=arr.length-1;i++){
// 如果对象中没有这个属性,将这个arr[i]添加到新数组zhong
if(!obj[arr[i]]){
arr1.push(arr[i]);
// 并将这个数组单元值作为对象的属性,给它赋值为1;
obj[arr[i]]=1;
// console.log(obj);
}
else{
obj[arr[i]]++;
}
}
console.log(arr1);
// 方法三的不同写法
var arr =[1,3,2,2,54,3,6,4,7,54,6,8,5,7,54,6,7,54,45,7,75,5667,7,2]
// 利用数组的下标重复会被覆盖掉的原理
var arr3 =[];
for (var int in arr){
// 将arr的数值付给arr3的下标
arr3[arr[int]]=1;
}
// 将arr3的属性值输出到新的数组中
var newarr=[];
arr3.forEach(function(v,k){
newarr.push(k);
})
console.log(newarr);