新型態物件 - Map & Set
Set:ES6新的資料結構,類似於陣列,但元素中並不會有重複的值。
Set物件的size屬性回傳Set物件的元素總數
Set物件的方法有兩大類,一類是用於操作元素的方法, 另一種是遍歷的方法:- add(value) : 新增值,回傳Set物件本身
- delete(value) : 刪除值,回傳boolean值,表示刪除是否有成功
- has(value) : 回傳boolean值,檢查是否值是否為Set物件的元素之一
- clear() : 清除所有元素,沒有回傳值
----------------------------------------------- - keys() : 回傳鍵名
- values() : 回傳鍵值
- entries() : 回傳鍵值對
- forEach() : 遍歷每個成員 由於Set物件沒有鍵名,只有鍵值,所以使用keys()跟values()結果相同
由於Set的特性,可以實現聯集、交集、差集的運算Map: javascript以往的物件,本質上是鍵值對的集合,但限制是只能用字串作為鍵名的型別。因此ES6提供Map型別,與物件的差別在於,鍵名的型別範圍並不拘。
Map物件有以下屬性:- size : 回傳物件的成員個數
- set(key, value) : 建立key及其對應的value,回傳Map物件本身
- get(key) : 取得key的value,如果找不到則回傳
undefined - has(key) : 回傳boolean值,檢查是否key是否存在Map物件中
- delete(key) : 刪除key-value,回傳boolean值,表示刪除是否有成功
- clear() : 清除所有元素,沒有回傳值
而遍歷的方法同Set物件。