Spec-Zone.ru › JavaScript

Set.prototype.isSupersetOf()

Базовая версия Недавно доступно

Эта функция работает на последних устройствах и версиях браузеров. Эта функция может не работать в старых устройствах или версиях браузеров. Она доступна во всех браузерах с июня 2024 года.

Метод isSupersetOf() экземпляров Set принимает множество и возвращает логическое значение, указывающее, входят ли все элементы данного множества в это множество.

Синтаксис

isSupersetOf(other)

Параметры

other
Объект Set или похожий на множество объект.

Возвращаемое значение

true, если все элементы в множестве other также содержатся в этом множестве, и false в противном случае.

Описание

В математической нотации надмножество определяется как:

A⊇B⇔∀x∊B,x∊AA\supseteq B \Leftrightarrow \forall x\in B,\,x\in A

И с использованием диаграммы Эйлера-Венна:

A Venn diagram with two circles. A is a superset of B because B is completely contained in A.

Примечание: Отношение надмножества не является собственным надмножеством (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

Спецификации

Specification
ECMAScript® 2027 Language Specification
# sec-set.prototype.issupersetof

Совместимость с браузерами

Настольные Мобильные Серверные
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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API