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

相关文章
相关标签/搜索