freeCodeCamp/guide/russian/certifications/javascript-algorithms-and-d.../basic-algorithm-scripting/slice-and-splice/index.md

6.6 KiB
Raw Blame History

title localeTitle
Slice and Splice Нарезка и сращивание

Нарезка и сращивание

:triangular_flag_on_post: Не забудьте использовать Read-Search-Ask если вы застряли. Попробуйте подключить программу :busts_in_silhouette: и напишите свой собственный код :pencil:

:checkered_flag: Проблема Объяснение:

Нам нужно скопировать каждый элемент из первого массива во второй массив, начиная с индекса n. Мы также должны убедиться, что исходные массивы не мутированы. То есть мы не можем внести никаких изменений в исходные массивы.

Связанные ссылки

:speech_balloon: Подсказка: 1

Создайте копию второго массива внутри функции. Это гарантирует, что исходный массив не будет мутирован. Это можно сделать, используя операцию среза во втором массиве и присвоить его переменной.

попытаться решить проблему сейчас

:speech_balloon: Подсказка: 2

Прокрутите все элементы в первом массиве. Для каждого элемента в первом массиве сплайсируйте его в скопированный массив в указателе, указанном в качестве аргумента.

попытаться решить проблему сейчас

:speech_balloon: Подсказка: 3

Увеличьте индекс после выполнения сращивания.

попытаться решить проблему сейчас

Осторожно, спойлеры!

предупреждающий знак

Решение впереди!

:beginner: Решение базового кода:

function frankenSplice(arr1, arr2, n) { 
  // It's alive. It's alive! 
  let localArray = arr2.slice(); 
  for (let i = 0; i < arr1.length; i++) { 
    localArray.splice(n, 0, arr1[i]); 
    n++; 
  } 
  return localArray; 
 } 

:rocket: Код запуска

Код Объяснение:

  • Наша цель - взять все элементы из arr1 и вставить их в arr2 начиная с позиции индекса n . В то же время мы должны гарантировать, что ни arr ни arr2 не были мутированы.

  • Используя функцию slice() мы можем создать точную реплика arr2 и присвоить результат операции переменной localArray .

  • Теперь, когда у нас есть массив, с которым мы можем мутировать, мы можем перебирать каждый элемент в первом массиве. Для каждого элемента в первом массиве мы можем использовать функцию splice() чтобы вставить элемент в индекс n localArray .

  • Мы увеличиваем индекс n на единицу. Это гарантирует, что каждый элемент из arr1 будет вставлен в localArray в правильное положение индекса.

  • Наконец, мы возвращаем localArray и localArray функцию.

:clipboard: ПРИМЕЧАНИЯ ДЛЯ ВЗНОСОВ:

  • :warning: НЕ добавляйте решения, похожие на любые существующие решения. Если вы считаете, что это похоже, но лучше , попробуйте объединить (или заменить) существующее подобное решение.
  • Добавьте объяснение своего решения.
  • Классифицируйте решение в одной из следующих категорий - Basic , Intermediate и Advanced . :traffic_light:
  • Пожалуйста, добавьте свое имя пользователя, только если вы добавили соответствующее основное содержимое . ( :warning: НЕ удаляйте существующие имена пользователей )

Увидеть :point_right: Wiki Challenge Solution Template для Wiki Challenge Solution Template для справки.