ES6中Set和Map

一、Set 實例的建立數組

  • Set實例它相似於數組,可是成員的值都是惟一的,沒有重複的值。
  • Set自己是一個構造函數用來生成Set數據結構。
  • Set 函數能夠接受一個數組(或者具備 iterable 接口的其餘數據結構)做爲參數, 用來初始化。
[...new Set(array)] // 去除數組的重複成員

二、Set實例的屬性和方法數據結構

①屬性:函數

  • Set.prototype.constructor:構造函數,默認就是Set函數。
  • Set.prototype.size:返回Set實例的成員總數。

②方法:spa

  • add(value):添加某個值,返回Set結構自己;
  • delete(value):刪除某個值,返回一個布爾值,表示刪除是否成功;
  • has(value):返回一個布爾值,表示該值是否爲Set的成員;
  • clear():清除全部成員,沒有返回值;
  • keys():返回鍵名的遍歷器;
  • values():返回鍵值的遍歷器;
  • entries():返回鍵值對的遍歷器;
  • forEach():使用回調函數遍歷每一個成員;

三、Map實例的屬性和方法prototype

  • Map相似於對象,也是鍵值對的集合,可是「鍵」的範圍不限於字符串,各類類型的 值(包括對象)均可以看成鍵。也就是說,

Object 結構ᨀ供了「字符串—值」的對 應,Map結構ᨀ供了「值—值」的對應,是一種更完善的 Hash 結構實現。若是你需 要「鍵值對」的數據結構,code

Map 比 Object 更合適;對象

  • Map 能夠接受一個數組做爲參數該數組的成員是一個表示鍵值對的數組。
const map = new Map([ ['name', '張三'], ['title', 'Author'] ])

屬性:blog

Map.prototype.size:返回 Map 結構的成員總數。接口

方法:字符串

  • set(key, value):set方法設置鍵名key對應的鍵值爲value,而後返回整個 Map 結構。如 果key已經有值,則鍵值會被更新,不然就新生成該鍵;
  • get(key):get方法讀取key對應的鍵值,若是找不到key,返回undefined;
  • has(key):has方法返回一個布爾值,表示某個鍵是否在當前 Map 對象之中;
  • delete(key):delete方法刪除某個鍵,返回true。若是刪除失敗,返回false;
  • clear():清除全部成員,沒有返回值;
  • keys():返回鍵名的遍歷器;
  • values():返回鍵值的遍歷器;
  • entries():返回鍵值對的遍歷器;
  • forEach():使用回調函數遍歷每一個成員;
相關文章
相關標籤/搜索