Set.prototype.difference()
difference()
是 Set
实例的一种方法,它接收一个集合并返回一个新集合,该新集合包含此集合中但在给定集合中不存在的元素。
语法
js
difference(other)
参数
返回值
一个新的 Set
对象,包含此集合中但在 other
集合中不存在的元素。
描述
在数学符号中,差集定义为
并使用韦恩图
difference()
接受 类似集合 的对象作为 other
参数。它要求 this
为一个实际的 Set
实例,因为它直接检索存储在 this
中的基础数据,而不会调用任何用户代码。然后,它的行为取决于 this
和 other
的大小。
- 如果
this
中的元素多于other.size
,则它通过调用其keys()
方法迭代other
,并使用this
中所有未在other
中看到的元素构造一个新集合。 - 否则,它迭代
this
中的元素,并使用this
中所有导致other.has(e)
返回 假值 的元素e
构造一个新集合。
返回集合中元素的顺序与 this
中的顺序相同。
示例
使用 difference()
以下示例计算奇数集合(<10)和完全平方数集合(<10)之间的差集。结果是奇数集合中不是完全平方数的元素构成的集合。
js
const odds = new Set([1, 3, 5, 7, 9]);
const squares = new Set([1, 4, 9]);
console.log(odds.difference(squares)); // Set(3) { 3, 5, 7 }
规范
规范 |
---|
Set 方法 # sec-set.prototype.difference |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。