Создайте новый массив через spread: [...firstArray, ...secondArray]. Порядок и повторяющиеся элементы сохранятся, оба исходных массива останутся неизменными.
Слияние двух массивов без использования concat()
Создайте новый массив через 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.