乐趣区

关于es6:ES6之setweakSetmapweakMap学习总结

set 汇合概念:

  1. 一个无 反复元素的列表
  2. 次要利用场景:检测给定值的某个汇合是否存在

map 汇合概念:

  1. 汇合内含多组键值对
  2. 次要利用场景:缓存 频繁取用的数据,获取已存的信息

ES5 用对象模仿 set 汇合和 map 汇合

存在以下限度:

  1. 对象属性必须是字符串
  2. 对象作为属性名存在问题
  3. 属性值是假值

ES6 中 set 和 map

1、set

  1. 创立 set 汇合 new Set()
  2. 向汇合中增加数据 set.add()
  3. size 属性获取汇合元素数量 set.size

set 的个性

1、不会对存值强制类型转换
2、屡次调用 add 办法并传入雷同的值作为参数,后续调用将被疏忽
3、可用数组初始化 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 汇合转为数组

数组转 set

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

set 转数组

array = [...set]

可利用场景:过滤反复值,最初输入无反复的新数组

2、weakSet

3、map

4、weakMap

退出移动版