前端實現陣列去重的三個辦法

2022-05-17 22:22:07 字數 1057 閱讀 6121

1、set結構去重。

這是es6 提供了新的資料結構 set。它類似於陣列,但是成員的值都是唯一的,沒有重複的值。

1 let unique= [...new

set(array)];2//

es6 set資料結構類似於陣列,成員值是唯一的,有重複的值會自動去重。3//

set內部使用===來判斷是否相等,類似'1'和1會兩個都儲存,nan和nan只會儲存乙個

2、遍歷,將值新增到新陣列,用indexof()判斷值是否存在,已存在就不新增,達到去重效果。

let a = ['1','2','3',1,nan,nan,undefined,undefined,null,null, 'a','b','b'];

let unique= arr =>

});return

newa;

}console.log(unique(a)) ;

//["1", "2", "3", 1, nan, nan, undefined, null, "a", "b"]

//ps:這個方法不能分辨nan,會出現兩個nan。是有問題的,下面那個方法好一點。

3、遍歷,將陣列的值新增到乙個物件的屬性名裡,並給屬性賦值,物件不能新增相同屬性名,以這個為依據可以實現陣列去重,然後用object.keys(物件)返回這個物件可列舉屬性組成的陣列,這個陣列就是去重後的陣列。

let a = ['1', '2', '3', 1,nan,nan,undefined,undefined,null,null, 'a', 'b', 'b'];

const unique = arr =>

arr.foreach(value =>)

return object.keys(obj);//

`object.keys(物件)`返回這個物件可列舉屬性組成的陣列,這個陣列就是去重後的陣列

} console.log(unique(a));

//["1", "2", "3", "nan", "undefined", "null", "a", "b"]

實現陣列去重最好的辦法

set是一種新的資料結構,它可以接收乙個陣列或者是類陣列物件,自動去重其中的重複專案。let arr 4 1,10 3,3 2,2 let uniquearr newset arr console.log uniquearr 4,1,10,3,2,2 常情況下,nan nan 返回的是false,但...

ES6陣列去重的三個簡單方法

第一種 利用map物件和陣列的filter方法 如下 let arr1 1,1 1,undefined,undefined,nan,nan function unique arr let newarr unique arr1 console.log newarr 結果如下圖 通過列印我們發現,確實實...

前端html陣列去重的方法

陣列去重 用到的知識點 1 indexof 該方法是返回陣列中元素第一次 出現的索引值 如果有,則正常返回索引值 如果檢索的內容不存在於陣列中,則返回 1 2 for迴圈 練習 陣列去重 第一種方法 var alist 1,2,3,4,4,3,2,1,2,3,4,5,6,5,5,3,3,4,2,1 ...