0
点赞
收藏
分享

微信扫一扫

JavaScript数组去重方法


在写JavaScript代码的时候,经常会用需要给数组去重,常用的操作方法是,利用indexOf去目标数中反复查找,代码如下所示:

function repeat(arr){
var result=[];
for(var i=0;i<arr.length;i++){
// 在result中如果找不到arr中当前元素
if(result.indexOf(arr[i])==-1){
// 才将当前元素压入result
result.push(arr[i]);
}
};
return result;
}

但是这种写法的性能不高,碰到较大的数组时,很耗时,所以一般会用hash的方法去给数组去重。

function repeat(arr){
var hash={};
var result=[];
for(var i=0;i<arr.length;i++){
if(hash[arr[i]]===undefined){
result.push(arr[i]);
hash[arr[i]]=1;
}
}
return result;
}

通过用hash的方法给数组去重,性能可以提高很多倍的,大家可以自己试一下啊。

举报

相关推荐

0 条评论