简介
Set是ES6提供给我们的构造函数,能够造出一种新的存储数据的结构
特点
只有属性值,成员值唯一(不重复)即天生带去重功能
用途
可以转成数组,其本身具备去重,交集,并集,差集的作用等
使用
案例一
基本使用,参数可以在()里传,且所传参数必须具备迭代接口,如[]、''、arguments、NodeList
let os = new Set([1,2,3,[1,2],true,{a:1,b:2}]);
结果:

案例二
天生去重
let os = new Set([1,2,3,[1,2],true,{a:1,b:2},1,2,true,4]);
结果:

案例三
存字符串的效果
let os2 = new Set('abc');
结果: 相当于把字符串拆开存

案例四
定义好set后向其添加值
let os = new Set([1]);
os.add(1);
os.add([1,2]);
os.add(true);
结果: 值都塞进去了,且去重了

案例五
删除os中的值

案例六
清空os中的值

案例七
判断os中是否有某个值,false为没有,true为有

案例八
遍历os中的值
os.forEach(val => {
console.log(val)
})
结果:

或者使用es6新增for循环,拿到遍历对象的属性值
for (let prop of os) {
console.log(prop);
}
结果:

案例九
数组转为set
let arr = [1,2,3,4,5];
let os = new Set(arr);
结果:

案例十
set转为数组
let arr = [1,2,3,4,5];
let os = new Set(arr);
console.log(Array.from(os));
结果:

或者使用...
let arr = [1,2,3,4,5];
let os = new Set(arr);
console.log([...os]);
结果:
