ES6之set、weakSet、map、weakMap學習總結

set集合概念:

  1. 一個無 重複元素的列表
  2. 主要應用場景:檢測給定值的某個集合是否存在

map集合概念:

  1. 集合內含多組鍵值對
  2. 主要應用場景:緩存 頻繁取用的數據,獲取已存的信息

ES5用對象模擬set集合和map集合

存在如下限制:

  1. 對象屬性必須是字符串
  2. 對象做爲屬性名存在問題
  3. 屬性值是假值

ES6中set和map

一、set

  1. 建立set集合 new Set()
  2. 向集合中添加數據 set.add()
  3. size屬性獲取集合元素數量 set.size

set的特性

一、不會對存值強制類型轉換
二、屢次調用add方法並傳入相同的值做爲參數,後續調用將被忽略
三、可用數組初始化Set集合,會過濾重複值,保證集合元素惟一
注意:
Set構造函數可接受全部可迭代的對象做爲參數,數組、set集合、map集合都是可迭代的數組

方法

  1. has() 檢測Set集合是否存在某個值
  2. delete() 移除Set集合中某一個元素
  3. clear() 一處集合中全部元素

forEach方法

forEach回調函數接收3個參數緩存

  1. set集合中下一個索引的位置
  2. 與第一個參數同樣的值
  3. 被遍歷的set集合自己

forEach方法第二個參數與數組同樣,須要在回調函數中使用this,可將它做爲第二個參數傳入forEach方法
若使用箭頭函數,無需將this做爲參數傳入回調。函數

set集合轉爲數組

數組轉setthis

let set = new Set([1,2,3])

set 轉數組code

array = [...set]

可應用場景:過濾重複值,最後輸出無重複的新數組對象

二、weakSet

三、map

四、weakMap

相關文章
相關標籤/搜索