幾種陣列去重方法

2021-10-09 17:53:07 字數 1747 閱讀 1092

使用es6中的set是最簡單的去重方法。

var arr  =[1

,1,'true'

,'true'

,true

,true,15

,15,false

,false

, undefined, undefined,

null

,null

,nan

,nan

,'nan',0

,0,'a'

,'a',,

];function

arr_unique1

(arr)

arr_unique1

(arr)

;// (13)[1, "true", true, 15, false, undefined, null, nan, "nan", 0, "a", , ]

建立乙個空map資料結構,遍歷需要去重的陣列,把陣列的每乙個元素作為key存到map中。由於map中不會出現相同的key值,所以最終得到的就是去重後的結果。

function

arr_unique2

(arr)

else

}return array ;

}console.

log(

arr_unique2

(arr));

//(13) [1, "a", "true", true, 15, false, 1, , null, nan, nan, "nan", 0, "a", , undefined]

function

arr_unique3

(arr)

)function

loop

(index)

loop

(index -1)

;//遞迴loop,然後陣列去重}}

loop

(len-1)

;return array;}

console.

log(

arr_unique3

(arr));

//(14) [1, "a", "true", true, 15, false, 1, , null, nan, nan, "nan", 0, "a", , undefined]

function

arr_unique4

(arr)})

;return res;

}console.

log(

arr_unique4

(arr));

// (14) [1, "true", true, 15, false, undefined, null, nan, nan, "nan", 0, "a", , ]

該方法的不足之處在於無法對nan進行過濾,原因是var a = [1, nan , 2]; a.indexof(nan) === -1;,改善的方法是使用includes方法。

function

arr_unique

(arr)

;return arr.

filter

((val)

=>);

}arr_unique

(arr)

;// (12) [1, "true", true, 15, false, undefined, null, nan, "nan", 0, "a", ]

JS常見的幾種陣列去重方法

總結一下js中用到的陣列去重的方法 方法一 該方法利用物件的屬性值不能相同 function arrdellikeelement array for let i in array return result arr arrdellikeelement arr 方法二 該方法使用es6中的對映方法 f...

多種陣列去重的方法

陣列內都是數字方法 1.建立乙個空陣列,用於存放不重複的值 2.給陣列排序 3.用遞迴相鄰逐個對比,如果不相同,則push到建立的空陣列裡面去 var a 1,2,5,6,2,1,0,2,8,4,56,4,65,4 var n var s a.sort function a,b function c...

兩種陣列去重的方法

1 this的用法 思路 構建乙個空陣列存放結構 構建乙個空物件,巧妙之處 將取得的原陣列的值設為物件的屬性,並設定其值為乙個數值,for迴圈時,如果該值存在則 json this i 為false,array.prototype.unique3 function for var i 0 i thi...