三種常用的js陣列去重方法

2021-06-21 14:33:29 字數 1085 閱讀 1628

思路:

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

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

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

array.prototype.unique1 = function()

} if(!repeat)

} return res;

}var arr = [1, 'a', 'a', 'b', 'd', 'e', 'e', 1, 0]

alert(arr.unique1());

思路:

1.先將原陣列進行排序

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

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

array.prototype.unique2 = function()

} return res;

}var arr = [1, 'a', 'a', 'b', 'd', 'e', 'e', 1, 0]

alert(arr.unique2());

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

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

2.建立乙個空物件

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

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

array.prototype.unique3 = function();

for(var i = 0; i < this.length; i++)

} return res;

}var arr = [112,112,34,'你好',112,112,34,'你好','str','str1'];

alert(arr.unique3());

參考

三種常用的js陣列去重方法

思路 1.構建乙個新的陣列存放結果 2.for迴圈中每次從原陣列中取出乙個元素,用這個元素迴圈與結果陣列對比 3.若結果陣列中沒有該元素,則存到結果陣列中 array.prototype.unique1 function if repeat return res var arr 1,a a b d ...

三種常用的js陣列去重方法

思路 1.構建乙個新的陣列存放結果 2.for迴圈中每次從原陣列中取出乙個元素,用這個元素迴圈與結果陣列對比 3.若結果陣列中沒有該元素,則存到結果陣列中 array.prototype.unique1 function if repeat return res var arr 1,a a b d ...

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

本篇文章主要是對js陣列去重的三種常用方法進行了總結介紹,需要的朋友可以過來參考下,希望對大家有所幫助 第一種是比較常規的方法 思路 1.構建乙個新的陣列存放結果 2.for迴圈中每次從原陣列中取出乙個元素,用這個元素迴圈與結果陣列對比 3.若結果陣列中沒有該元素,則存到結果陣列中 複製 如下 ar...