用Set爲數組去重

Set簡介

Set是ES6中新的對象,今日偶然接觸,發現利用它能夠迅速爲數組去重,只須要兩行代碼數組

集合(Set)對象容許你存儲任意類型的惟一值(不能重複),不管它是原始值或者是對象引用。code

使用示例

var mySet = new Set();

mySet.add(1);
mySet.add(5);
mySet.add("some text");

mySet.has(1); // true
mySet.has(3); // false, 3尚未被添加到set中
mySet.has(5);              // true
mySet.has(Math.sqrt(25));  // true
mySet.has("Some Text".toLowerCase()); // true

mySet.size; // 3

mySet.delete(5); // 從set中移除5
mySet.has(5);    // false, 5已經被移除

mySet.size; // 2, 咱們剛剛移除了一個值

簡單來講,SetArray的區別在於:Array中容許出現重複的元素,例如[1,2,2,3];而Set中的全部元素都是惟一的,只能是{1,2,3}。利用這一特性,咱們就能夠迅速地去掉數組中重複的元素。對象

數組去重

廢話很少說,直接看代碼:console

var arr = [1,2,2,3,4] // 須要去重的數組

var set = new Set(arr) // {1,2,3,4}
var newArr = Array.from(set) // 再把set轉變成array

console.log(newArr) // [1,2,3,4]

固然數組去重的方法有許許多多,只是剛纔被set爽到了,因此才寫下這篇文章。引用

相關文章
相關標籤/搜索