Кратко
СкопированоМетод 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, поддерживается