<script type="text/javascript">
var arr = [1,2,3,-45,678,345,4,5,5,
3,2,-45,1,0,678,543,55];
function sortFun(a,b){
return a-b;
}
/*方法一:先排序,后去重复杂度为 nlogn 占用内存,速度慢*/
function duplicateRemoval(arr,sortFun){
arr.sort(sortFun);
var i = 0,num = 0;
for(i = 1,num = arr[0]; i<arr.length;){
if(arr[i] === num){
arr.splice(i,1);
}else{
num = arr[i];
i++;
}
}
}
duplicateRemoval(arr,sortFun);
/*方法二:利用对象属性不能重复 复杂度为n*/
function duplicateRemoval(arr){
var obj = {}, i = 0 ,len = arr.length;
for(i = 0; i<len;i++){
obj[arr[i]+''] = true;
}
return Object.keys(obj);
}
arr = duplicateRemoval(arr);
alert(arr);
</script>
数组去重的几种方式
最新推荐文章于 2024-04-26 14:35:45 发布
