Array.concat(): объединение без изменения источников
Метод concat создаёт новый массив из исходного и переданных значений или массивов.
Назначение
Метод concat создаёт новый массив из исходного и переданных значений или массивов.
Как это работает
Обычные массивы раскрываются на один уровень, отдельные значения добавляются как элементы. Метод не является рекурсивным выравниванием и не клонирует вложенные объекты.
Пример
const first=[1,2];
const result=first.concat([2,3],4);
console.assert(JSON.stringify(result)==="[1,2,2,3,4]");
console.assert(JSON.stringify(first)==="[1,2]");
Что должно получиться
Результат содержит пять значений, включая повторяющуюся двойку. Исходный массив first не расширился, поскольку возвращён новый внешний массив.
Граница применения и частая ошибка
Не ожидайте, что concat удалит дубликаты или сделает глубокую копию. Для уникальности и изоляции вложенных данных нужны отдельные решения по смыслу задачи.
Самостоятельная проверка
Объедините два списка с одинаковым значением и убедитесь, что дубликат сохранён. Затем передайте вложенный массив и определите, какой уровень остался вложенным.
JavaScript в песочнице этого сайта не выполняется. Перенесите пример в отдельный учебный файл. Сначала проверьте исходный результат, затем измените входные данные; ошибка проверки означает, что результат отличается от ожидаемого.