Кратко
СкопированоМетод is сравнивает текущую коллекцию с другой и возвращает true, если все элементы указанной коллекции находятся так же в другой коллекции, и false — если нет.
Пример
СкопированоИмеется два массива чисел. Определим входят ли все элементы первого массива так же и во второй массив. Для решения этой задачи, создадим из массивов Set и сравним их используя метод is:
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
Как пишется
СкопированоМетод is принимает один обязательный аргумент — объект, содержащий коллекцию для сравнения. Если аргумент не указан, будет брошено исключение Type.
Аргументом может быть как Set-объект, так и Set-подобный объект, например, Map.
💡 Set-подобный (Set-like) объект должен иметь свойство size и методы has и keys. Обычный массив, а также Weak-объект не являются Set-подобными объектами, так как не обладают всеми требуемыми свойствами и методами.
Метод is возвращает boolean-результат сравнения коллекций.
Как понять
СкопированоСравнение коллекций — часто встречающаяся задача. Метод is позволяет упростить решение этой задачи и избежать необходимость писать код обхода и сравнения.
Поддержка метода is в основных браузерах и в Node.js появилась в 2024 году. Если попробуете использовать метод в более ранних версиях, это приведёт к ошибке.
- Chrome 122, поддерживается
- Edge 122, поддерживается
- Firefox 127, поддерживается
- Safari 17, поддерживается