首页 > 代码库 > 数组去重方法
数组去重方法
方法一:
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"]
数组去重方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。