Кратко
СкопированоМетод union объединяет текущую коллекцию с другой и возвращает новую, состоящую из элементов, которые есть в любой из коллекций.
В математике это называется объединением двух множеств. Оно описывается так: объединение множеств A и B — это множество, которое состоит из элементов, находящихся в любом из множеств А и B.
Это можно выразить формулой:
A ∪ B = { x | x ∈ A ∨ x ∈ B }

Пример
СкопированоВ двух последних проектах инженер Фёдор использовал определённый стек технологий. При составлении CV, Фёдор решает перечислить навыки, которыми он теперь обладает. Нужно сравнить две коллекции и получить список технологий, используемых хотя бы в одном из проектов. В этом Фёдору поможет метод union:
const project1 = new Set(['PHP', 'Bash', 'Docker', 'JavaScript', 'CSS'])const project2 = new Set(['Docker', 'JavaScript', 'Bash', 'Postgres', 'MongoDB'])const result = project1.union(project2)console.log(result)// Set(7) {// 'PHP',// 'Bash',// 'Docker',// 'JavaScript',// 'CSS',// 'Postgres',// 'MongoDB'// }
const project1 = new Set(['PHP', 'Bash', 'Docker', 'JavaScript', 'CSS'])
const project2 = new Set(['Docker', 'JavaScript', 'Bash', 'Postgres', 'MongoDB'])
const result = project1.union(project2)
console.log(result)
// Set(7) {
// 'PHP',
// 'Bash',
// 'Docker',
// 'JavaScript',
// 'CSS',
// 'Postgres',
// 'MongoDB'
// }
Как пишется
СкопированоМетод union принимает один обязательный аргумент — объект, содержащий коллекцию для объединения. Если аргумент не указан, будет брошено исключение Type.
Аргументом может быть как Set-объект, так и Set-подобный объект, например, Map.
💡 Set-подобный (Set-like) объект должен иметь свойство size и методы has и keys. Обычный массив, а также Weak-объект не являются Set-подобными объектами, так как не обладают всеми требуемыми свойствами и методами.
Метод union возвращает новый Set-объект, содержащий объединение исходной и указанной коллекций. Порядок элементов будет соответствовать порядку исходной, а затем указанной коллекции.
Как понять
СкопированоМетод union позволяет объединять две коллекции элементов без необходимости писать дополнительный код обхода и сравнения.
Поддержка метода union в основных браузерах и в Node.js появилась в 2024 году. Если попробуете использовать метод в более ранних версиях, это приведёт к ошибке.
- Chrome 122, поддерживается
- Edge 122, поддерживается
- Firefox 127, поддерживается
- Safari 17, поддерживается