//数组去重函数 var arr=[3,3,4,13,7,8,8,9]; function uniqueArray1(arr){ console.time(); var tmp=[]; for(let i=0,len=arr.length;i<len;i++){ let flag=true; for(let j=0,len=tmp.length;j<len;j++){ if(arr[i]==tmp[j]){ flag=false; break; } } if(flag){ tmp[tmp.length]=arr[i]; } } console.timeEnd(); return tmp; } //0.029052734375 ms //利用哈希表实现去重 function uniqueArray2(arr){ console.time(); var tmp=[],hash={}; for(let i=0;arr[i]!=null;i++){ if(!hash[arr[i]]){ tmp.push(arr[i]); hash[arr[i]]=true; } } console.timeEnd(); return tmp; } //0.012939453125 ms //利用map去重 function uniqueArray3(arr){ console.time(); var tmp=[]; //定义空数组 arr.map(function(x){ //用 map 遍历数组 if(tmp.indexOf(x)==-1){ //如果当前值没有存在空数组中 tmp.push(x); //追加到空数组中 } } ); console.timeEnd(); return tmp; } //0.05224609375 ms console.log(uniqueArray1(arr));
原文:https://www.cnblogs.com/cuican-star/p/14584046.html