javascript陣列去重的三種常用方法總結

2021-07-11 10:21:41 字數 612 閱讀 3066

思路:1.構建乙個新的陣列存放結果

2.for迴圈中每次從原陣列中取出乙個元素,用這個元素迴圈與結果陣列對比

3.若結果陣列中沒有該元素,則存到結果陣列中

第二種方法比上面的方法效率要高

思路:

1.先將原陣列進行排序

2.檢查原陣列中的第i個元素 與 結果陣列中的最後乙個元素是否相同,因為已經排序,所以重複元素會在相鄰位置

3.如果不相同,則將該元素存入結果陣列中

第二種方法也會有一定的侷限性,因為在去重前進行了排序,所以最後返回的去重結果也是排序後的。如果要求不改變陣列的順序去重,那這種方法便不可取了。

第三種方法(推薦使用)

思路:

1.建立乙個新的陣列存放結果

2.建立乙個空物件

3.for迴圈時,每次取出乙個元素與物件進行對比,如果這個元素不重複,則把它存放到結果陣列中,同時把這個元素的內容作為物件的乙個屬性,並賦值為1,存入到第2步建立的物件中。

說明:至於如何對比,就是每次從原陣列中取出乙個元素,然後到物件中去訪問這個屬性,如果能訪問到值,則說明重複。

JavaScript 陣列去重

陣列去重,一般都是在面試的時候才會碰到,一般是要求手寫陣列去重方法的 如果是被提問到,陣列去重的方法有哪些?你能答出其中的10種,面試官很有可能對你刮目相看。在真實的專案中碰到的陣列去重,一般都是後台去處理,很少讓前端處理陣列去重。雖然日常專案用到的概率比較低,但還是需要了解一下,以防面試的時候可能...

Javascript陣列去重

set是es2015引入的資料型別,意為集合 其不允許重複元素出現的特性,對於nan undefined null都適用 set是es2015引入的資料型別,意為集合 其不允許重複元素出現的特性,對於nan undefined null都適用 function unique arr var arr ...

JavaScript陣列去重

例1定義乙個簡單的一維陣列 let myarr 0 1,3 2,4 3,3 4,5 6,1 7,8 方法一 使用es6的set let myarr 0 1,3 2,4 3,3 4,5 6,1 7,8 let result newset myarr sort a,b console.log resul...