Set.prototype.isSupersetOf()
isSupersetOf()
是 Set
实例的方法,它接受一个集合并返回一个布尔值,指示给定集合的所有元素是否都在此集合中。
语法
js
isSupersetOf(other)
参数
返回值
如果 other
集合中的所有元素也都在此集合中,则为 true
,否则为 false
。
描述
在数学符号中,超集 的定义如下
并使用韦恩图
注意:超集 关系不是真超集,这意味着如果this
和 other
包含相同的元素,则 isSupersetOf()
返回 true
。
isSupersetOf()
接受 类似集合 的对象作为 other
参数。它要求 this
是一个实际的 Set
实例,因为它直接检索存储在 this
中的底层数据,而不调用任何用户代码。然后,它的行为取决于 this
和 other
的大小
- 如果
this
中的元素少于other.size
,则它直接返回false
。 - 否则,它通过调用
other
的keys()
方法来迭代other
,如果other
中的任何元素都不存在于this
中,则它返回false
(并通过调用其return()
方法来关闭keys()
迭代器)。否则,它返回true
。
示例
使用 isSupersetOf()
偶数集合 (<20) 是 4 的倍数集合 (<20) 的超集
js
const evens = new Set([2, 4, 6, 8, 10, 12, 14, 16, 18]);
const fours = new Set([4, 8, 12, 16]);
console.log(evens.isSupersetOf(fours)); // true
所有奇数集合 (<20) 不是素数集合 (<20) 的超集,因为 2 是素数但不是奇数
js
const primes = new Set([2, 3, 5, 7, 11, 13, 17, 19]);
const odds = new Set([3, 5, 7, 9, 11, 13, 15, 17, 19]);
console.log(odds.isSupersetOf(primes)); // false
等价集合是彼此的超集
js
const set1 = new Set([1, 2, 3]);
const set2 = new Set([1, 2, 3]);
console.log(set1.isSupersetOf(set2)); // true
console.log(set2.isSupersetOf(set1)); // true
规范
规范 |
---|
Set 方法 # sec-set.prototype.issupersetof |
浏览器兼容性
BCD 表格仅在浏览器中加载