Рубрики
Без рубрики

Я столкнулся с этой проблемой FreeCodecamp и застрял на некоторое время, думая о том, как я мог найти способ решить это. Они уже упомянули решение, используя ломтик и сращивание. Я был смущен в то время, когда использовать ломтик, и когда использовать Splice. Вот, я собираюсь

Я столкнулся с этой проблемой FreeCodecamp и застрял на некоторое время, думая о том, как я мог найти способ решить это. Они уже упомянули решение, используя ломтик и сращивание. Я был смущен в то время, когда использовать ломтик, и когда использовать Splice. Вот, я собираюсь

Автор оригинала: Parathan Thiyagalingam.

Я наткнулся на это FreeCodecamp Вызов и застрял на некоторое время, думая о том, как я мог найти способ решить это. Они уже упомянули решение, используя ломтик и сращивание. Я был смущен в то время, когда использовать ломтик, и когда использовать Splice.

Здесь я поделился, как я решил его с этими методами.

Как слайд, и сращивание используются для манипулирования массивами. Давайте посмотрим, как они это делают.

Ломтик:

Метод ломтика занимает 2 аргумента.

1-й аргумент : Указывает, откуда начнется выбор.

Например:

var arr1 = [1,5,8,9];
arr1.slice(1); // [5,8,9]

Из первого индекса (5) он вернет элементы.

2-й аргумент : Указывает, на каком уровне должна быть конечная точка. Если вы не поместили это в скобках при вызове метода среза, он вернет элементы из исходного индекса до конца массива.

var arr1 = [1,5,8,9];
console.log(arr1.slice(1,3));
//[ 5, 8 ]

Если вы поместите отрицательный номер при вызове, выбор будет выбран из конца массива.

var arr1 = [1,5,8,9];
console.log(arr1.slice(-2));
//[ 8, 9 ]

Примечание. Slice всегда возвращает выбранные элементы из массива.

Ломтик не изменит массив. Массив остается неповрежденным. Смотрите ниже пример:

var arr1 = [1,5,8,9];
arr1.slice(2);
console.log(arr1);
// [ 1, 5, 8, 9 ]

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

Сращивание:

Это может принимать несколько аргументов.

Это означает,

1-й аргумент : Указывает, в каком положении должен быть добавлен новый элемент или существующий элемент/удален. Если значение отрицательное, позиция будет учитываться с конца массива.

2-й аргумент : Количество элементов, которые будут удалены из исходного положения. Если это 0, то элементы не будут удалены. Если это не передано, он удалит все элементы из исходного положения.

var arr1 = [1,5,8,9];
console.log(arr1.splice(1,2));
// [ 5, 8 ]

3-й аргумент -> nth Argum ent: значение элементов, которые вы хотите добавить в массив.

var arr1 = [1,5,8,9];
console.log(arr1.splice(1,2,'Hi','Medium'));
// [5,8]

Вы можете подумать, что мы добавили «HI», «Medium» на массив, но здесь не отображается … Верно?

Да, мы утешили Arr1.Splice (1,2, «Привет», «Средняя»).

Примечание:

  • Сращивание вернет удаленные элементы только из массива.
  • Splice изменит оригинальный массив
var arr1 = [1,5,8,9];
arr1.splice(1,2,'Hi','Medium');
console.log(arr1);
// [ 1, 'Hi', 'Medium', 9 ]

Распространение синтаксиса:

Определение : Позволяет, такое, например, выражение или строку массива, которые будут расширены в местах, где ожидаются нулевые или более аргументов (для вызовов функций) или элементов (для литералов на массивов), или выражение объекта, которое будет расширено в местах, где нулевой или более ключ – Ожидаются пары Value (для объектных литералов).

Давайте имеем пример для этого:

var arr1 = [1,3,6,7];
var arr2 = [5,arr1,8,9];
console.log(arr2);
// [ 5, [ 1, 3, 6, 7 ], 8, 9 ]

Я хочу, чтобы это было в одном массиве, как [5, 1, 3, 6, 7, 8, 9].

Я могу использовать этот синтаксис распространения, чтобы решить это:

var arr1 = [1,3,6,7];
var arr2 = [5,...arr1,8,9];
console.log(arr2);
//[ 5, 1, 3, 6, 7, 8, 9 ]

Другое основное использование синтаксиса спреда – при копировании массива:

var arr = [1, 2, 3];
var arr2 = arr;
arr2.push(4);

console.log(arr2);
// [ 1, 2, 3, 4 ]

console.log(arr);
// [ 1, 2, 3, 4 ]

Я добавил ” 4 ” на Arr2 Только. Но это сделало перемен на Arr также.

Мы можем решить это, используя синтаксис распространения следующим образом …

var arr = [1, 2, 3];
var arr2 = [...arr]; // like arr.slice()
arr2.push(4);

console.log(arr2);
// [ 1, 2, 3, 4 ]

console.log(arr);
// [ 1, 2, 3]

Вы можете ссылаться на MDN Документация для получения дополнительной информации о распространенном синтаксисе.

Итак, давайте посмотрим на вызов.

function frankenSplice(arr1, arr2, n) {

// It's alive. It's alive!

let array2Copy = [...arr2];

array2Copy.splice(n,0, ...arr1);

             //console.log(array2Copy);

return array2Copy;

}

frankenSplice([1, 2, 3], [4, 5, 6], 1);

Основным условием этой проблемы «не следует изменять ARR1/ARR2 после выполнения функции».

Итак, создал Скопировать массив ARR2, и Используя SPLICE Метод Добавьте Arr1 внутри копии ARR2, которая называется как Array2Copy.

Окончательный вывод:

-> Метод ломтика будет

  • вернуть выбранные элементы из массива
  • принимать 2 аргумента
  • не изменить оригинальный массив

-> Метод сращивания будет

  • вернуть удаленные элементы массива
  • принимать несколько аргументов
  • изменяет оригинальный массив

Это мой первый учебник по кодированию – спасибо за чтение! Ваши отзывы помогут мне сформировать мою кодировку и навыки письма.

Счастливое кодирование …!

Связь со мной через Твиттер