Spec-Zone.ru › JavaScript

Set.prototype.isSubsetOf()

Базовый уровень Недавно доступно

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

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

Синтаксис

isSubsetOf(other)

Параметры

other
Объект Set или множественно-подобный объект.

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

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

Описание

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

A⊆B⇔∀x∊A,x∊BA\subseteq B \Leftrightarrow \forall x\in A,\,x\in B

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

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

Примечание: Отношение подмножества не является строгим подмножеством, что означает, что isSubsetOf() возвращает true, если this и other содержат одинаковые элементы.

isSubsetOf() принимает множественно-подобные объекты в качестве параметра other. Он требует, чтобы this был фактическим экземпляром Set, поскольку он напрямую извлекает базовые данные, хранящиеся в this, не вызывая при этом пользовательский код. Далее его поведение зависит от размеров this и other:

  • Если в this больше элементов, чем в other.size, то он немедленно возвращает false.
  • В противном случае, он выполняет итерацию по элементам в this и возвращает false, если какой-либо элемент e в this приводит к тому, что other.has(e) возвращает ложное значение. В противном случае, он возвращает true.

Примеры

Использование isSubsetOf()

Множество чисел, кратных 4 (меньше 20), является подмножеством чётных чисел (меньше 20):

const fours = new Set([4, 8, 12, 16]);
const evens = new Set([2, 4, 6, 8, 10, 12, 14, 16, 18]);
console.log(fours.isSubsetOf(evens)); // 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(primes.isSubsetOf(odds)); // false

Эквивалентные множества являются подмножествами друг друга:

const set1 = new Set([1, 2, 3]);
const set2 = new Set([1, 2, 3]);
console.log(set1.isSubsetOf(set2)); // true
console.log(set2.isSubsetOf(set1)); // true

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

Спецификация
ECMAScript® 2027 Language Specification
# sec-set.prototype.issubsetof

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

Desktop Mobile Server
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
isSubsetOf
122
122
127
108
17
122
127
81
17
26.0
122
17
1.0.0
1.42
22.0.0

Смотрите также

  • Полифил Set.prototype.isSubsetOf в core-js
  • Полифил es-shims для Set.prototype.isSubsetOf
  • Set.prototype.difference()
  • Set.prototype.intersection()
  • Set.prototype.isDisjointFrom()
  • Set.prototype.isSupersetOf()
  • 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/isSubsetOf

Spec-Zone.ru

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