es6中的Set 实现并集(Union)、交集(Intersect)和差集(Difference)

ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。
Set本身是一个构造函数,用来生成 Set 数据结构。数组的map和filter方法也可以间接用于 Set 了。因此使用 Set 可以很容易地实现并集(Union)、交集(Intersect)和差集(Difference)。

let a = new Set(["北京", "上海", "深圳"]);
let b = new Set(["广州", "深圳", "上海"]);
 
// 并集
let union = new Set([...a, ...b]);
// Set {"北京", "上海", "深圳", "广州"}
 
// 交集
let intersect = new Set([...a].filter(item => b.has(item)));
// set {"上海", "深圳"}
 
// 差集
let difference1 = new Set([...a].filter(item => !b.has(item)));
// Set {"北京"}
let difference2 = new Set([...b].filter(item => !a.has(item)));
// Set {"广州"}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值