Автор оригинала: 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 аргумента
- не изменить оригинальный массив
-> Метод сращивания будет
- вернуть удаленные элементы массива
- принимать несколько аргументов
- изменяет оригинальный массив
Это мой первый учебник по кодированию – спасибо за чтение! Ваши отзывы помогут мне сформировать мою кодировку и навыки письма.
Счастливое кодирование …!
Связь со мной через Твиттер