ES6的Set数据结构

Set数据结构

ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。
应用场景:搜索历史关键字的存储、数组去重

Set的创建

Set本身是一个构造函数,用来生成 Set 数据结构。

const s = new Set(); 

Set函数可以接受一个数组作为参数,用来初始化。

const set = new Set([1, 2, 3, 4, 4]); 

Set的属性

Set中有一个size属性,记录set中存储了多少个元素。

const s2 = new Set(["a","b"]); 
console.log(s2.size); // 2

Set的方法

add(value):添加某个值,返回 Set 结构本身
delete(value):删除某个值,返回一个布尔值,表示删除是否成功
has(value):返回一个布尔值,表示该值是否为 Set 的成员
clear():清除所有成员,没有返回值

 const s = new Set();  
 s.add(1).add(2).add(3); // 向 set 结构中添加值   
 s.delete(2)             // 删除 set 结构中的2值   
 s.has(1)                // 表示 set 结构中是否有1这个值 返回布尔值   
 s.clear()               // 清除 set 结构中的所有值 

遍历Set取值

Set 结构的实例与数组一样,也拥有forEach方法,用于对每个成员执行某种操作,没有返回值。

s.forEach(value => console.log(value)) 

利用Set实现数组去重

可以利用扩展运算符将Set结构转换为以逗号分隔的零散量。然后加上中括号转换成数组。

const s = new Set(["a","a","b","b"]);
const ary = [...s];
console.log(ary); // ["a","b"]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值