ES6学习(七) -- Set初步介绍及基本使用

303 阅读1分钟

简介

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]);

结果: