Клавиша / esc

.isSupersetOf()

Метод сравнения коллекций, который позволяет определить включает текущая коллекция все элементы другой коллекции или нет.

Время чтения: меньше 5 мин

Кратко

Скопировано

Метод isSupersetOf() сравнивает текущую коллекцию с другой и возвращает true, если текущая коллекция включает в себя все элементы другой коллекции, и false — если нет.

Пример

Скопировано

У Софии и Надежды большие личные библиотеки. София хочет доказать, что её коллекция включает все романы Набокова, которые есть в коллекции Надежды. В этом ей поможет метод isSupersetOf().

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

        
          
          const booksOfSonya = [ 'Дар', 'Подвиг', 'Защита Лужина', 'Отчаяние' ]const booksOfNadya = [ 'Подвиг', 'Защита Лужина', 'Дар' ]const set1 = new Set(booksOfSonya)const set2 = new Set(booksOfNadya)console.log(set1.isSupersetOf(set2))// trueconsole.log(set2.isSupersetOf(set1))// false
          const booksOfSonya = [ 'Дар', 'Подвиг', 'Защита Лужина', 'Отчаяние' ]
const booksOfNadya = [ 'Подвиг', 'Защита Лужина', 'Дар' ]

const set1 = new Set(booksOfSonya)
const set2 = new Set(booksOfNadya)

console.log(set1.isSupersetOf(set2))
// true
console.log(set2.isSupersetOf(set1))
// false

        
        
          
        
      

Как пишется

Скопировано

Метод isSupersetOf() принимает один обязательный аргумент — объект, который содержит коллекцию для сравнения. Если аргумент не указан, будет брошено исключение TypeError.

Аргументом может быть как Set-объект, так и Set-подобный объект, например, Map.

Метод isSupersetOf() возвращает булевое значение как результат сравнения коллекций.

Как понять

Скопировано

Сравнение коллекций — часто встречающаяся задача. Метод isSupersetOf() упрощает её решение и избавляет от необходимости писать код обхода и сравнения.

Не путайте метод isSupersetOf() с методом isSubsetOf(), который решает обратную задачу и проверяет, что все элементы текущей коллекции содержатся в другой. Поддержка isSupersetOf() в основных браузерах и в Node.js появилась в 2024 году. Если попробуете использовать метод в более ранних версиях, получите ошибку.

Поддержка в браузерах:
  • Chrome 122, поддерживается
  • Edge 122, поддерживается
  • Firefox 127, поддерживается
  • Safari 17, поддерживается
О Baseline