ES6之new Set()

Set对象存储的值总是唯一的
一、Set对象方法:

add 添加某个值,返回Set对象本身
clear 删除所有键/值对,没有返回值
delete 删除某个键,返回true。若删除失败,返回false
forEach 对每个元素执行指定操作
has 返回一个布尔值,表示某个键是否在当前Set对象中

二、Set的用途:
1、数组去重

var arr = [1, 2, 3, 3, 4, 4]
const uniqueArr = [...new Set(arr)]; //{1,2,3,4}

2、并集

var a = new Set([1, 2, 3]);
var b = new Set([4, 3, 2]);
var union = new Set([...a, ...b]); //{1,2,3,4}

3、交集:

var a = new Set([1, 2, 3]);
var b = new Set([4, 3, 2]);
var intersect = new Set([...a].filter(x => b.has(x))) //{2,3}

4、差集:

var a = new Set([1, 2, 3]);
var b = new Set([4, 3, 2]);
// 1)在b数组中找出a的差集
var diff = new Set([...a].filter(x => !b.has(x)));//{1}
// 1)在a数组中找出b的差集
var diff = new Set([...b].filter(x => !a.has(x)));//{4}
发布了18 篇原创文章 · 获赞 0 · 访问量 330

猜你喜欢

转载自blog.csdn.net/weixin_39788999/article/details/104893756
今日推荐