天天看點

javascript數組去重的三種常用方法,及其性能比較

   在進行數組操作時往往會遇到去掉重複項的問題,下面簡單介紹下數組去重的方法,以及其執行效率

 方法一

        采用兩次循環

        原理:拿目前的和他後面的比,如果後面的有重複的就幹掉

        但是我們發現數組最後一項,後面沒有東西,那他就不用和後邊的比較了,是以我們隻要循環arr.length-1次就可以了

執行效率實在不敢恭維,我的電腦比這多就不能執行了

是以考慮用對象替代(對象的屬性名字不會重複)方法二

此方法執行效率較高,數組很多内容也不會浏覽器奔潰,但循環使用兩次

采用另一種方法:方法三

原理:  循環數組,把數組中的每一項當做obj對象的屬性名和屬性值存進來,

        但是我們發現如果obj對象中已經存在了這個屬性名的話,那就說明數組重複了,那我們删除重複的項

不過經過測試這個方法和方法一效率差不多,不信可以嘗試下,故還是推薦方法二

對此封裝成方法

能力有限,希望能給大家帶來幫助

繼續閱讀