Set.prototype.isSubsetOf()
Метод isSubsetOf()
(є підмножиною щодо) примірників Set
приймає множину і повертає булеве значення, що вказує, чи всі елементи поточної множини присутні в переданій множині.
Синтаксис
isSubsetOf(other)
Параметри
other
Об'єкт
Set
, або множиноподібний об'єкт.
Повернене значення
true
, якщо всі елементи поточної множини також присутні в множині other
, і false
в іншому випадку.
Опис
У математичному записі підмножина визначається як:
А за допомогою діаграми Венна:
[!NOTE] Відношення підмножини не є справжньою підмножиною, тобто
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