在 javascript 裡如果希望陣列不要重複,可以使用 set。

const mySet = new Set();
mySet.add(1); // [1]
mySet.add(2); // [1, 2]
mySet.add(2); // [1, 2],重複的元素不會被加進去

 

set 可以使用 has() 的方法判斷陣列裡是否有特定的值。

mySet.has(2); //ture

 

set 可以使用 values() 或 keys() 列出所有的值:

const iterator1 = mySet.values();
console.log(iterator1.next().value); //1
console.log(iterator1.next().value); //2

 

透過 .delete() 刪除特定的值:

mySet.delete(2);

 

透過 .size 取得長度

mySet.size;

 

透過 forEach 取出所有值

mySet.forEach((item) => console.log(item));

 

透過 .clear() 清除 set

mySet.clear();

 

Set 和 Array 之間的轉換

// Set 轉成 Array
let SetToArray = [...mySet]; 

// Array 轉成 Set
let ArrayToSet = new Set(SetToArray);

 

用來去除陣列中重複的內容可以像這樣寫:

let arr = [1, 2, 3, 1, 2, 3, 2 ,3, 4, 5];
[...new Set(arr)]