两种js数组去重的方法

时间:2024-11-16 14:06:07

方法一:

新建一个数组,遍历原数组,在新数组内用IndexOf查找原数组内的每一项,如果没有找到,则添加到其中

代码如下:

function arrayNew(arrs ){
var newArray = [];
for(var i=0;i<arrs.length;i++){
if(newArray.indexOf){
if(newArray.indexOf(arrs[i])==-1){newArray.push(arrs[i])}
} else{
if(indexOf(arrs[i],newArray)==-1){newArray.push(arrs[i])}
}
} return newArray
}

 方法二:对象键值法---性能最优

<script>

		function arrayUnik(arrs){
var newArray = [];
var hash={};
if(arrs.length>0){
for(var i=0;i<arrs.length;i++){
if(!hash[arrs[i]]){
hash[arrs[i]]=1;
newArray.push(arrs[i]); }else{
console.log(hash[arrs[i]]);
}
}
}
return newArray;
}
var arrs = [4,5,2,2,6,2,8,6];
arrayUnik(arrs);
alert(arrs.length);
alert(arrayUnik(arrs))
</script>