Skip to content

本文由 简悦 SimpRead 转码, 原文地址 mp.weixin.qq.com

集合操作方法的介绍

JavaScript 的 Set 对象自从 ES6 引入以来,主要用于确保列表中没有重复的元素。然而,随着即将推出的 7 种内置 Set 方法,我们可能会发现自己更频繁地使用它们。

注意,这些新功能并不是所有浏览器都支持。

1. union()

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

union

由于它是不可变的并且返回一个对象副本,你可以无限地调用

chain union

2. intersection()

两个集合中都存在的元素是什么?

intersection

3. difference()

difference() 方法执行 A - B 操作,返回集合 A 中不在集合 B 中的所有元素:

difference

4. symmetricDifference()

这个方法双向获取集合差异,即 (A — B) U (B — A)。返回只在集合 A 或集合 B 中的元素:

symmetricDifference

5. isSubsetOf()

检查一个集合的所有元素是否都在另一个集合中。

isSubsetOf

6. isSupersetOf()

检查一个集合是否包含另一个集合中的所有元素

isSupersetOf

7. isDisjointFrom()

这两个集合是否没有任何共同的元素

isDisjointFrom

如何立即使用它们

通过使用 core-js  polyfills:

core-js polyfillscore-js polyfills 2

否则,你会从 TypeScript 和 Node.js 收到错误提示 —— 它们尚未成为官方 JavaScript 标准的一部分。

TypeScript & Node.js errorsTypeScript & Node.js errors 2

总结

这就是我们的 7 种新的 Set 方法 —— 再也不需要像 _.intersection() (Lodash!) 这样的第三方库了。

no more third parties

翻译自 https://medium.com/coding-beauty/new-javascript-set-methods-8332e379c7e5