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