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}