Определение задачи алгоритма:
Вам даны два массива и индекс. Используйте методы массива slice и splice, чтобы скопировать каждый элемент первого массива во второй массив по порядку. Начните вставлять элементы в индекс n второго массива. Вернуть полученный массив. Массивы ввода должны оставаться неизменными после запуска функции.
Пример: frankenSplice ([1, 2, 3], [4, 5], 1) должно возвращать [ 4, 1, 2, 3, 5].
Мой вопрос заключается в том, почему я не могу просто соединить arr2 и вставить в него arr1, как описано в коде. Почему я должен нарезать arr2 в другую переменную и выполнять сплайсинг?
function frankenSplice(arr1, arr2, n) {
//Why do I have to slice this?
let localArr = arr2.slice();
localArr.splice(n, 0, ...arr1);
return localArr;
}
Почему не работает код ниже? Что с этим?
//My solution:
function frankentSplice(arr1, arr2, n) {
arr2.splice(n, 0, ...arr1);
return arr2;
}