探索JavaScript中的7个新Set方法

目录
文章目录隐藏
  1. 1. union()
  2. 2. intersection()
  3. 3. difference()
  4. 4. symmetricDifference()
  5. 5. isSubsetOf()
  6. 6. isSupersetOf()
  7. 7. isDisjointFrom()

探索 JavaScript 中的 7 个新 Set 方法

Set 从 ES6 就已经存在了,但通常它们只是用来确保列表中没有重复项。

然而,随着这 7 个即将推出的内置 Set 方法,我们可能会发现自己更加频繁地使用它们。

1. union()

Set 的新方法 union() 为我们提供了两个集合中所有唯一的元素。

并且由于它是不可变的并返回副本,你可以无限链式调用它:

const setA = new Set([1, 2, 3]);
const setB = new Set([3, 4, 5]);

const unionSet = setA.union(setB); // Set {1, 2, 3, 4, 5}

2. intersection()

哪些元素同时存在于两个集合中?

const setA = new Set([1, 2, 3]);
const setB = new Set([2, 3, 4]);

const intersectionSet = setA.intersection(setB); // Set {2, 3}

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); // Set {1}

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); // Set {1, 2, 4, 5}

5. isSubsetOf()

其目的很明确:检查一个集合的所有元素是否都在另一个集合中。

const setA = new Set([1, 2]);
const setB = new Set([1, 2, 3]);

const isSubset = setA.isSubsetOf(setB); // true

6. isSupersetOf()

检查一个集合是否包含另一个集合中的所有元素:这与 isSubsetOf() 中交换两个集合的作用相同:

const setA = new Set([1, 2, 3]);
const setB = new Set([1, 2]);

const isSuperset = setA.isSupersetOf(setB); // true

7. isDisjointFrom()

这些集合是否没有任何共同元素?

const setA = new Set([1, 2, 3]);
const setB = new Set([4, 5, 6]);

const isDisjoint = setA.isDisjointFrom(setB); // true

「点点赞赏,手留余香」

1

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系maynote@foxmail.com处理
码云笔记 » 探索JavaScript中的7个新Set方法

发表回复