Set.prototype.union()

Baseline 2024
新推出

自 2024 年 6 月起,此功能已在最新的设备和浏览器版本中可用。此功能可能不适用于较旧的设备或浏览器。

union() 方法是 Set 实例的一个方法,它接收一个 Set,并返回一个新的 Set,其中包含此 Set 和给定 Set 中任一或两者都存在的元素。

语法

js
union(other)

参数

其他

一个 Set 对象,或 类 Set 对象

返回值

一个新的 Set 对象,其中包含此 Set 和 other Set 中任一或两者都存在的元素。

描述

在数学表示法中,并集 定义为

AB={xxA 或 xB}A\cup B = \{x\mid x\in A\text{ 或 }x\in B\}

使用维恩图表示:

A Venn diagram where two circles overlap. The symmetric difference of A and B is the region contained by either or both circles.

union() 接受 类 Set 对象作为 other 参数。它要求 this 是一个实际的 Set 实例,因为它直接检索存储在 this 中的底层数据,而无需调用任何用户代码。然后,它通过调用 otherkeys() 方法来迭代 other,并构造一个包含 this 中所有元素的新 Set,然后添加 other 中不存在于 this 中的所有元素。

返回的 Set 中元素的顺序是:首先是 this 中的元素,然后是 other 中的元素。

示例

使用 union()

下面的示例计算小于 10 的偶数 Set 与小于 10 的完全平方数 Set 的并集。结果是那些是偶数或完全平方数(或两者都是)的数字的 Set。

js
const evens = new Set([2, 4, 6, 8]);
const squares = new Set([1, 4, 9]);
console.log(evens.union(squares)); // Set(6) { 2, 4, 6, 8, 1, 9 }

规范

规范
ECMAScript® 2026 语言规范
# sec-set.prototype.union

浏览器兼容性

另见