生活随笔
收集整理的這篇文章主要介紹了
数组去重是面试中经常问到的问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
數組去重是面試中經常問到的問題
[html]?view plaincopy
var?arr=[1,3,4,52,4,5,4,8,7,6];?? 第一種方法:使用ES5中的indexOf進行去重:
[javascript]?view plaincopy
function?arr1(){????????var?n=[];?????????for(var?i=0;i<arr.length;i++){?????????????if(n.indexOf(arr[i])==-1){?????????????????n.push(arr[i]);?????????????}?????????}?????????return?n;?????} [javascript]?view plaincopy
?? 運行結果如下: 第二種方法:先排序后然后再相鄰比較去重
[javascript]?view plaincopy
function?arr3(){???????????arr.sort();??????????var?re=[arr[0]];??????????for(var?i=1;i<arr.length;i++){??????????????if(arr[i]!==re[re.length-1]){??????????????????re.push(arr[i]);????????????????}??????????}??????????return?re;??????}?? 此種方法比第一種效率更好: 第三種方法:使用map去重
[javascript]?view plaincopy
function?arr4(arr){??????????var?map={};??????????if(arr&&Array.isArray(arr)){??????????????for(var?i=arr.length;i>=0;--i){??????????????????if(arr[i]?in?map){??????????????????????arr.splice(arr[i],1);??????????????????}else{??????????????????????map[arr[i]]?=?true;??????????????????}??????????????}??????????}??????????return?arr;????????}?? 效率最高:
轉載于:https://www.cnblogs.com/codepen2010/p/6900218.html
總結
以上是生活随笔為你收集整理的数组去重是面试中经常问到的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。