标签:
方法一:
function clearArrEqual(arr){
var Arr=[];
var stopFor;
for(var i in arr){
stopFor=true;
for(var a=0;a<Arr.length;a++){
if(arr[i]===Arr[a]){//这里的对比,分两种,一种是不是很严格的对比,另一种是非常严格的对比,详细请参考“==”和“===”的区别
stopFor=false;
break;
}
}
if(stopFor){
Arr.push(arr[i]);
}
}
}
var Arr1=[12,‘yingfu‘,‘abcdefg‘,‘12‘,588,‘abcdefg‘,‘yingfu‘,‘12‘,588];
console.log(Arr1);
console.log(clearArrEqual(Arr1));
方法二:(此方法有个bug,数组中出现数值和字符串值相等情况会认为相同,例如1,“1”)
function clearArrEq(arr){
var hash=[];
for(var i=0;i<arr.length;i++){
if(hash[arr[i]]==undefined){
hash[arr[i]]=1;
}else{
hash[arr[i]]++;
}
}
console.log(hash);
arr2=[];
for(var k in hash){
arr2.push(k)
}
console.log(arr2);
}
}
var Arr1=[12,‘yingfu‘,‘abcdefg‘,‘12‘,588,‘abcdefg‘,‘yingfu‘,‘12‘,588];
clearArrEq(Arr1); //["12", "588", "yingfu", "abcdefg"]
标签:
原文地址:http://www.cnblogs.com/l742314100/p/5933588.html