javascript陣列去重方法彙總

2021-09-07 16:37:56 字數 1025 閱讀 4145

陣列去重已經是乙個老生常談的問題了,依然經久不息,經過歲月的變遷es標準的公升級迭代,似乎有越來越多的方法和方式供我們使用,那麼那種方式才是最優的?那種才是最簡潔的?這個我們一起來**。

省略:傳統的遞迴方法,這裡我就不說了,是最傳統也是最笨的方法。

使用array.prototype.filter()方法,對元素進行過濾;

相關資料:array.prototype.filter()

var array = [2, "2", 2, "2"];

//es5 使用filter

function

unique(array) ;

return array.filter(function

(item, index) );

}console.log(unique(array));

//[2,"2"]

set裡的元素只能出現一次,即元素是唯一的。

下面的**中也使用了(...)擴充套件語句,簡單來說就是把陣列轉換成n個物件的方法。

var array = [2, "2", 2, "2"];

//es6 使用set特性(set元素只會出現一次,即元素是唯一的)

let unique = (array) => [...new set(array)]; //

(...)擴充套件語句,簡單來說就是把陣列引數轉換為多個物件引數

console.log(unique(array)); //

[2,"2"]

map也是es6新出的資料型別,方法set、has、get、clear、delete、keys都挺好用的。

var array = [2, "2", 2, "2"];

//es6 map 本質使用的還是array.prototype.filter()

function

unique(array)

console.log(unique(array));

個人覺得最優的方案是第二種!歡迎補充,歡迎指正~

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