方法一:建立一个临时数组,遍历原数组,判断该临时数组中能否找到原数组中的元素,如果没找到,就加入临时数组。
function uniqArray(arr){
var temp=new Array();
for(var i=0;i<arr.length;i++){
if(temp.indexOf(arr[i])==-1){
temp.push(arr[i]);
}
return temp;
}
}
var a=[1,2,3,2,1];
var b=uniqArray(a);
console.log(b);//[1,2,3]
方法二:利用对象的属性去重,每次取出原数组的元素,然后在对象中访问这个属性,如果存在就说明重复
function uniqArray(arr){
var res=[];
var array={};
for(var i=0;i<arr.length;i++){
if(!array[arr[i]]){
res.push(arr[i]);
array[arr[i]]=1;
}
}
return res;
}
方法3:先排序再去重
function uniqArray(arr){
var arr2=arr.sort();
var res=[arr2[0]];
for(var i=1;i<arr2.length;i++){
if(arr2[i]!==res[res.length-1]){
res.push(arr2[i]);
}
}
return res;
}