JavaScript 中的 7 个新 Set 方法:union()
、intersection()
,以及其他 5 个
1.union()
Set 的新方法 union() 为我们提供了两个集合中所有唯一的元素。并且它是不可变的并返回副本,你可以无限链式调用它:
const setA = new Set([1, 2, 3]);
const setB = new Set([3, 4, 5]);
const unionSet = setA.union(setB);
2.intersection()
哪些元素同时存在于两个集合中?
const setA = new Set([1, 2, 3]);
const setB = new Set([2, 3, 4]);
const intersectionSet = setA.intersection(setB);
3. difference()
difference() 方法执行 A - B,返回集合 A 中不在集合 B 中的所有元素:
const setA = new Set([1, 2, 3]);
const setB = new Set([2, 3, 4]);
const differenceSet = setA.difference(setB);
4. symmetricDifference()
正如 symmetric 所暗示的那样,此方法双向获取集合差集。即 (A — B) U (B — A)。所有只存在于其中一个集合中的元素
const setA = new Set([1, 2, 3]);
const setB = new Set([3, 4, 5]);
const symmetricDifferenceSet = setA.symmetricDifference(setB);
5. isSubsetOf()
其目的很明确:检查一个集合的所有元素是否都在另一个集合中。
const setA = new Set([1, 2]);
const setB = new Set([1, 2, 3]);
const isSubset = setA.isSubsetOf(setB);
6. isSupersetOf()
检查一个集合是否包含另一个集合中的所有元素:这与 isSubsetOf() 中交换两个集合的作用相同:
const setA = new Set([1, 2, 3]);
const setB = new Set([1, 2]);
const isSuperset = setA.isSupersetOf(setB);
7. isDisjointFrom()
这些集合是否没有任何共同元素?
const setA = new Set([1, 2, 3]);
const setB = new Set([4, 5, 6]);
const isDisjoint = setA.isDisjointFrom(setB);