Set.prototype.isSupersetOf()
Базовая версия Недавно доступно
Эта функция работает на последних устройствах и версиях браузеров. Эта функция может не работать в старых устройствах или версиях браузеров. Она доступна во всех браузерах с июня 2024 года.
Метод isSupersetOf() экземпляров Set принимает множество и возвращает логическое значение, указывающее, входят ли все элементы данного множества в это множество.
Синтаксис
isSupersetOf(other)
Параметры
-
other - Объект
Setили похожий на множество объект.
Возвращаемое значение
true, если все элементы в множестве other также содержатся в этом множестве, и false в противном случае.
Описание
В математической нотации надмножество определяется как:
И с использованием диаграммы Эйлера-Венна:
Примечание: Отношение надмножества не является собственным надмножеством (proper superset), что означает, что isSupersetOf() возвращает true, если this и other содержат одинаковые элементы.
isSupersetOf() принимает похожие на множество объекты в качестве параметра other. Он требует, чтобы this был фактическим экземпляром Set, поскольку он напрямую извлекает базовые данные, хранящиеся в this, не вызывая при этом никакого пользовательского кода. Затем его поведение зависит от размеров this и other:
- Если в
thisменьше элементов, чем вother.size, то он сразу возвращаетfalse. - В противном случае, он выполняет итерацию по
other, вызывая его методkeys(), и если какой-либо элемент вotherотсутствует вthis, он возвращаетfalse(и закрывает итераторkeys(), вызывая его методreturn()). В противном случае он возвращаетtrue.
Примеры
Использование isSupersetOf()
Множество четных чисел (<20) является надмножеством чисел, кратных 4 (<20):
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 является простым, но не нечетным числом:
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
Эквивалентные множества являются надмножествами друг друга:
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
Спецификации
Совместимость с браузерами
| Настольные | Мобильные | Серверные | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on iOS | Samsung Internet | WebView Android | WebView on iOS | Bun | Deno | Node.js | |
isSupersetOf |
122 |
122 |
127 |
108 |
17 |
122 |
127 |
81 |
17 |
26.0 |
122 |
17 |
1.0.0 |
1.42 |
22.0.0 |
Смотрите также
- Полифил
Set.prototype.isSupersetOfвcore-js - Полифил es-shims для
Set.prototype.isSupersetOf Set.prototype.difference()Set.prototype.intersection()Set.prototype.isDisjointFrom()Set.prototype.isSubsetOf()Set.prototype.symmetricDifference()Set.prototype.union()
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/isSupersetOf