在 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)]