Клавиша / esc

.isSubsetOf()

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

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

Кратко

Скопировано

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

Пример

Скопировано

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

        
          
          const array1 = [ 34, 42, 0, -8 ]const array2 = [ -8, 0, 1, 2, 16, 34, 42 ]const set1 = new Set(array1)const set2 = new Set(array2)console.log(set1.isSubsetOf(set2))// trueconsole.log(set2.isSubsetOf(set1))// false
          const array1 = [ 34, 42, 0, -8 ]
const array2 = [ -8, 0, 1, 2, 16, 34, 42 ]

const set1 = new Set(array1)
const set2 = new Set(array2)

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


        
        
          
        
      

Как пишется

Скопировано

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

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

💡 Set-подобный (Set-like) объект должен иметь свойство size и методы has() и keys(). Обычный массив, а также WeakSet-объект не являются Set-подобными объектами, так как не обладают всеми требуемыми свойствами и методами.

Метод isSubsetOf() возвращает boolean-результат сравнения коллекций.

Как понять

Скопировано

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

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

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