相关 es6 文章:
概念
Set 结构类似数组,但是不会有重复的值
创建
Set结构只能通过 Set() 构造器创建
var s=new Set();
s.add(1);
s.add(2);
s.add(1);
s; // Set(2) {1, 2}
注:symbol 数据类型由 Symbol 函数创建,不需要实例化
Set( [arr] ) 构造函数
用来创建一个Set结构的数据,参数arr可选(初始化数据)
var s=new Set([1,2,2]);
s; //Set(2) {1, 2}
Set结构的属性和方法
属性
1. size 成员数量
2. constructor 构造器,自然是 Set
方法
**操作**
1. add(value) 添加值并返回自身(可链式操作)
2. delete(value) 删除某个值,返回 true / false(删除不存在的 value)
3. clear() 清空所有值,无返回值
4. has(value) 查找,返回 true/false
**其他**
keys()、values()、entries()、forEach()不常用
遍历
默认可遍历(实际调用的 values() 方法)
for...of
var s=new S([1,2,3]);
for(i of s){
console.log(i)
}
//1 2 3
应用
1. Array.from() 或者 ...展开符号 可以将Set结构转为数组
2. 数组去重
var arr=[1,2,2];
var s=new Set(arr);
var newArr=Array.from(s);
newArr; // [1, 2]
WeakSet 结构
类似 Set ,但是只能存放对象,而且保存的数据都是弱引用(不被垃圾回收机制计算在内,意味着保存的数据很可能会消失,且弱引用不可遍历)
- 创建: WeakSet() 构造器
- 方法:add、delete、has
- 属性:无size属性
- 应用:保存dom,不必担心内存泄露
文章到这里结束,喜欢的点个赞,下篇 ? Map
【关注一下不迷路~】
【html】【css】【html】【css】【javascript】【html】【javascript】【css】【javascript】【css】