js陣列去重的4種方法

2022-02-22 21:58:13 字數 1218 閱讀 8218

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到新陣列,最後返回新陣列

1

function

removeduplicateditem(ar) 8}

910return

ret;11}

1213

方法二:遍歷陣列,利用object物件儲存陣列值,判斷陣列值是否已經儲存在object中,未儲存則push到新陣列並用object[arrayitem]=1的方式記錄儲存

1

function

removeduplicateditem2(ar) ,

3 ret =;45

for (var i = 0, j = ar.length; i < j; i++) 10}

1112

return

ret;

13 }

方法三:陣列下標判斷法, 遍歷陣列,利用indexof判斷元素的值是否與當前索引相等,如相等則加入

1

function

removeduplicateditem3(ar)

8});910

return

ret;

11 }

方法四:陣列先排序, 然後比較倆陣列一頭一尾進行去重

1

function

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 結...