添加元素add
let list=new Set();
list.add(1)
list.add(2).add(3).add(3) // 2只被添加了一次
删除元素 delete
let list=new Set([1,20,30,40])
list.delete(30) //删除值为30的元素,这里的30并非下标
判断某元素是否存在has
let list=new Set([1,2,3,4])
list.has(2)//true
清除所有元素clear
let list=new Set([1,2,3,4])
list.clear()
数组去重
var arr = [1,2,3,3,1,4];
[...new Set(arr)]; // [1, 2, 3, 4]
Array.from(new Set(arr)); // [1, 2, 3, 4]
[...new Set('ababbc')].join(''); // "abc" 字符串去重
new Set('ice doughnut'); //Set(11) {"i", "c", "e", " ", "d", …}
并集
var a = new Set([1, 2, 3]);
var b = new Set([4, 3, 2]);
var union = new Set([...a, ...b]); // {1, 2, 3, 4}
交集
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}
差集
var a = new Set([1, 2, 3]);
var b = new Set([4, 3, 2]);
var difference = new Set([...a].filter(x => !b.has(x))); // {1}