Set和Map
2018-08-22 本文已影响0人
陶六六
Set和Map
- Set
- 实例属性
-
Set.prototype.constructor
构造函数,默认Set -
Set.prototype.size
成员总数
-
- 实例方法
Set.prototype.add(value)
Set.prototype.delete(value)
Set.prototype.has(value)
Set.prototype.clear()
-
Set.prototype.keys()
,Set.prototype.values()
,Set key和value相等 默认遍历器接口 Set.prototype.entries()
Set.prototypr.forEach((value,key)=>{},thisArg)
- 实例属性
- WeakSet
- 成员只能是对象的集合,弱引用,不可遍历,没有size属性
- 实例属性
-
WeakSet.prototype.constructor
构造函数,默认WeakSet
-
- 实例方法
WeakSet.prototype.add(value)
WeakSet.prototype.delete(value)
WeakSet.prototype.has(value)
- Map
- Object提供的是“字符串——值“映射,Map提供的是“值——值”映射,键名可以是任何数据结构
- Map的遍历顺序就是插入顺序
- 实例属性
-
Map.prototype.constructor
构造函数,默认Map -
Map.prototype.size
成员总数
-
- 实例方法
Map.prototype.set(key,value)
Map.prototype.get(key)
Map.prototype.delete(key)
Map.prototype.has(key)
Map.prototype.clear()
Map.prototype.keys()
Map.prototype.values()
-
Map.prototype.entries()
默认遍历器接口 Map.prototype.values()
Map.prototype.forEach((value,key)=>{},thisArg)
- WeakMap
- 键名只能是对象的键值对集合,键名弱引用,不可遍历,没有size属性
- 键名指向空间释放会释放键名对应值的引用
- 实例属性
-
WeakMap.prototype.constructor
构造函数,默认WeakMap
-
- 实例方法
WeakMap.prototype.set(key,value)
WeakMap.prototype.get(key)
WeakMap.prototype.has(key)
WeakMap.prototype.delete(key)
tips
1. Set,Map本身没有map,filter等数组操作方法,但是可以将Set,Map转化成数组后使用数组方法再转回来