iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 24
1

關於群集方面,ES6提供了Set與Map,儲存在Set裡面的元素都會唯一而不重複,而Map裡面儲存的Key都會對應到一個Value,其Key是唯一且不重複的。

Set

若想收集不重複的資料,可以使用Set,例如以下我add五筆資料,用size取得數量為三:

let set = new Set();
set.add('apple');
set.add('hTC');
set.add('SONY');
set.add('apple');
set.add('hTC');
console.log(set.size)

https://ithelp.ithome.com.tw/upload/images/20201009/20120420cCH3iY60rT.png

Set本身是可迭代物件,所以可以用for...of 或Array.from得到裡面的內容
https://ithelp.ithome.com.tw/upload/images/20201009/201204202g0PzbTIxv.png

values()會得到元素迭代器Iterator,所以跟也是可以用for of 或Array.from得到裡面的內容。
https://ithelp.ithome.com.tw/upload/images/20201009/20120420fgw51L3r1p.png

for(let a of set.values()){
    console.log(a);
}

https://ithelp.ithome.com.tw/upload/images/20201009/20120420hSxv7at0oj.png

has()可以檢查裡面有沒有該元素

set.has('apple'); //true

delete()可以刪除元素

set.has('apple'); //true

clear()可以清空Set
https://ithelp.ithome.com.tw/upload/images/20201009/20120420R33lfcLk57.png


上一篇
第23天:特性與undefined
下一篇
第25天:Generator產生器函式
系列文
JavaScript技術手冊閱讀筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言