- es6新增set类型数据结构,set和数组差不多只是内部元素的值是不可以重复的,但是成员的值都是唯一的,没有重复的值。
- 创建语法:构造函数new Set():创建一个set类型的数据结构变量
- add():向set对象中添加元素,会自动过滤重复变量
- delete():清除指定的值,返回布尔性,true标识删除成功
- has():判断一个值是否是set成员,true岱庙有该值
- clear():清除所有的set成员
- set的参数可以是一个数组哦,[...new Set(array)],利用这个可以给数组去重哦
- 属性:两个属性:利用属性.size获取set的长度,Set.prototype.constructor获取其构造函数为Set()
- 有一点要记住,set是区分类型的,使用“Same-value-zero equality”作比较的,胖段内部是否已经有相同的值存在,NaN===NaN的那个
- set的遍历方法
keys()
:返回键名的遍历器values()
:返回键值的遍历器entries()
:返回键值对的遍历器forEach()
:使用回调函数遍历每个成员及调用set的每一个元素- 由于set类型是没有键名的,所以key和value是同一个值哦
let set = new Set([1, 4, 9]);
set.forEach((value, key) => console.log(key + ' : ' + value))
// 1 : 1
// 4 : 4
// 9 : 9
6.可以用...扩展运算符来作为传参哦
- weakset类型:弱集合类型相对于set类型有两个特点
- weakset只能存取对象类型的数值
- weakset存储的对象只要外部没有引用这个对象了,就会被垃圾回收机制自动释放,做一个临时存储的,所以其存储的对象是动态变化的,他的存储不会影响垃圾回收机制回收的,垃圾回收机制肯本不在乎他是不是再用。所以呀,他不可以遍历的
- 语法:new WeakSet():
- weakset的方法:
- WeakSet.prototype.add(value):向 WeakSet 实例添加一个新成员。
- WeakSet.prototype.delete(value):清除 WeakSet 实例的指定成员。
- WeakSet.prototype.has(value):返回一个布尔值,表示某个值是否在