iT邦幫忙

2021 iThome 鐵人賽

DAY 25
0
Modern Web

JavaScript學習日記系列 第 25

JavaScript學習日記 : Day25 - Set

Set與Map不同再於Set沒有key,是指有包含值的特殊集合,且每個值只能出現一次不能重複。

Set的方法:

  1. new Set(iterable) : 創建一個set,傳入一個iterable的物件或是數組
  2. set.add(value) : 新增一個值,返回set本身
  3. set.delete(value) : 刪除值,成功刪除返回true,如果不存在這個value則返回false
  4. set.has(value) : 判斷是否存在value,返回true/false
  5. set.clear() : 清空set
  6. set.size : 返回value的數量
let set = new Set();
let a = 123;
let b = 456;
let c = 789;

set.add(a);
set.add(b);
set.add(c);
set.add(a); // add方法會忽略重複的值,所以才說Set中的值都是唯一的

console.log(set.size); // 3

for(let item of set) {
    console.log(item); // 123 456 789
}

Set與Array轉換

let array = [123,456,789]
let set = new Set();
let a = 123;
let b = 456;
let c = 789;
set.add(a);
set.add(b);
set.add(c);



// set轉為array

let setToArray = [...set]; // 或者 Array.from(set);
console.log(setToArray)

// array轉為set

let arrayToSet = new Set(array);
console.log(arrayToSet)

過濾元素

可以利用set中不會重複的特性,用來過濾array中重複的元素:

const array = [0,0,1,2,3,4,5,5,6,7];
const arrayToSet = new Set(array);
const uniqueArray = [...arrayToSet];

console.log(uniqueArray);

上一篇
JavaScript學習日記 : Day24 - Map
下一篇
JavaScript學習日記 : Day26 - 重做原生方法 -- Array
系列文
JavaScript學習日記30

尚未有邦友留言

立即登入留言