js陣列去重,老生長談,今天對其進行一番歸納,總結出來4種方法
貼入**前 ,先對瀏覽器array物件進行支援indexof和foreach的polyfill
1 array.prototype.indexof = array.prototype.indexof || function(item) 6}
7return -1;8}
910 array.prototype.foreach = array.prototype.foreach || function
(callback, thisarg)
16 }
方法一:遍歷陣列,建立新陣列,利用indexof判斷是否存在於新陣列中,不存在則push到新陣列,最後返回新陣列
1function
removeduplicateditem(ar) 8}
910return
ret;11}
1213
方法二:遍歷陣列,利用object物件儲存陣列值,判斷陣列值是否已經儲存在object中,未儲存則push到新陣列並用object[arrayitem]=1的方式記錄儲存
1function
removeduplicateditem2(ar) ,
3 ret =;45
for (var i = 0, j = ar.length; i < j; i++) 10}
1112
return
ret;
13 }
方法三:陣列下標判斷法, 遍歷陣列,利用indexof判斷元素的值是否與當前索引相等,如相等則加入
1function
removeduplicateditem3(ar)
8});910
return
ret;
11 }
方法四:陣列先排序, 然後比較倆陣列一頭一尾進行去重
1function
removeduplicateditem4(ar) 13}
1415
return
ret;
16 }
有其他好的方式 ,歡迎補充。
JS陣列物件去重(4種方法)
var arr 對陣列物件name進行去重處理,結果顯示為 方法一 es5氣泡排序法,去重arr var arr function deweight return arr var newarr deweight console.log c s color red 方法一 es5,newarr new...
整理了js陣列去重4種方法
1.利用es6的iterable資料結構set 原理 es6 提供了新的資料結構 set。它類似於陣列,但是成員的值都是唯一的,沒有重複的值。set 本身是乙個建構函式,用來生成 set 資料結構。利用的演算法類似 與 的區別是 認為nan nan set的演算法認為它們是相等的,但是set認為物件...
js陣列去重五種方法
今天來聊一聊js陣列去重的一些方法,包括一些網上看到的和自己總結的,總共5種方法 es5 這種方法最簡單最直觀,也最容易理解,如下 var arr 2,8,5,0,5,2,6,7,2 var newarr for var i 0 i arr.length i console.log newarr 結...