Сращивание и вставка массива в другой - PullRequest
0 голосов
/ 11 апреля 2020

Определение задачи алгоритма:

Вам даны два массива и индекс. Используйте методы массива 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; 
}
...