set汇合概念:
- 一个无 反复元素的列表
- 次要利用场景:检测给定值的某个汇合是否存在
map汇合概念:
- 汇合内含多组键值对
- 次要利用场景:缓存 频繁取用的数据,获取已存的信息
ES5用对象模仿set汇合和map汇合
存在以下限度:
- 对象属性必须是字符串
- 对象作为属性名存在问题
- 属性值是假值
ES6中set和map
1、set
- 创立set汇合 new Set()
- 向汇合中增加数据 set.add()
- size属性获取汇合元素数量 set.size
set的个性
1、不会对存值强制类型转换
2、屡次调用add办法并传入雷同的值作为参数,后续调用将被疏忽
3、可用数组初始化Set汇合,会过滤反复值,保障汇合元素惟一
留神:
Set构造函数可承受所有可迭代的对象作为参数,数组、set汇合、map汇合都是可迭代的
办法
- has() 检测Set汇合是否存在某个值
- delete() 移除Set汇合中某一个元素
- clear() 一处汇合中所有元素
forEach办法
forEach回调函数接管3个参数
- set汇合中下一个索引的地位
- 与第一个参数一样的值
- 被遍历的set汇合自身
forEach办法第二个参数与数组一样,须要在回调函数中应用this,可将它作为第二个参数传入forEach办法
若应用箭头函数,无需将this作为参数传入回调。
set汇合转为数组
数组转set
let set = new Set([1,2,3])
set 转数组
array = [...set]
可利用场景:过滤反复值,最初输入无反复的新数组