Кратко
СкопированоМетод intersection
сравнивает текущую коллекцию с другой и возвращает новую, состоящую из элементов, входящих в обе коллекции.
В математике это называется пересечением двух множеств. Пересечение множеств A и B — это множество, которое состоит из элементов, входящих как в множество А, так и во множество B. Это можно выразить формулой:
A ∩ B = { x | x ∈ A ∧ x ∈ B }
Пример
СкопированоДопустим, у нас есть две коллекции чисел. Необходимо сравнить эти коллекции и получить общие, встречающиеся в обеих коллекциях, числа:
const num1 = new Set([42, 4, 69, 37, 2])const num2 = new Set([1, 2, 3, 4])const inter = num1.intersection(num2)console.log(inter)// Set(2) { 2, 4 }
const num1 = new Set([42, 4, 69, 37, 2]) const num2 = new Set([1, 2, 3, 4]) const inter = num1.intersection(num2) console.log(inter) // Set(2) { 2, 4 }
Как пишется
СкопированоМетод intersection
принимает один обязательный аргумент — объект, содержащий коллекцию для вычисления пересечения. Если аргумент не указан, будет брошено исключение Type
.
Аргументом может быть как Set
-объект, так и Set
-подобный объект, например, Map
.
Метод intersection
возвращает новый Set
-объект, содержащий пересечение исходной и указанной коллекций. Итерация при сравнении элементов проводится по коллекции меньшего размера. Порядок элементов будет соответствовать порядку элементов в коллекции меньшего размера. Если у коллекций нет общих элементов, метод вернёт пустой Set
-объект.
Как понять
СкопированоМетод intersection
позволяет получить общие элементы для двух коллекций без дополнительного кода обхода и сравнения.
Поддержка метода intersection
в основных браузерах и в Node.js появилась в 2024 году. Попытка использовать intersection
в более ранних версиях, приведёт к ошибке.
- Chrome 122, поддерживается
- Edge 122, поддерживается
- Firefox 127, поддерживается
- Safari 17, поддерживается