Слияние двух массивов без использования concat()

Создайте новый массив через spread: [...firstArray, ...secondArray]. Порядок и повторяющиеся элементы сохранятся, оба исходных массива останутся неизменными.

Короткий ответ

Что ответить на собеседовании

Создайте новый массив через spread: [...firstArray, ...secondArray]. Порядок и повторяющиеся элементы сохранятся, оба исходных массива останутся неизменными.

Подробный разбор

Ответ с пояснениями

Условие

Нужно объединить два массива, не прибегая к встроенному методу concat().

const firstArray = [1, 1, 1, 1, 1, 1];
const secondArray = [77, 88, 99];

Ответ

Создайте новый массив через spread: [...firstArray, ...secondArray]. Порядок и повторяющиеся элементы сохранятся, оба исходных массива останутся неизменными.

const combined = [...firstArray, ...secondArray];
// [1, 1, 1, 1, 1, 1, 77, 88, 99]

Результат — поверхностная копия: вложенные объекты сохранят общие ссылки. Если spread запрещён, добавьте элементы двух массивов обычными циклами в пустой массив. Время и дополнительная память O(n + m). Для разреженных массивов spread превращает пропуски в undefined, поэтому не во всех случаях полностью повторяет concat.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее