Советы по Javascript: срез x сращивание

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

Функция slice() выбирает часть массива и возвращает новый объект массива.

Синтаксис:
array.slice(beginIndex, endIndex)

Выбранная часть зависит от аргументов, переданных в функцию:
- Если в функцию не переданы аргументы, она возвращает весь массив.
- Если в функцию передается один целочисленный аргумент beginIndex, она выбирает часть массива, начинающаяся с beginIndex и заканчивающаяся концом массива.
– Если beginIndex отрицательное, выбор начинается с конца массива. Например: array.slice(-2) выбирает два последних элемента массива.
- Если функции передаются два целочисленных аргумента, beginIndex и endIndex, она выбирает часть массива, начиная с beginIndex и заканчивая endIndex, не включая Сам «endIndex». Например: array.slice(1,4) выбирает первый, второй и третий элементы массива.
- Если endIndex отрицательное, выбор начинается с конца массива. Его значение ограничено -array.length. Например: array.slice(2,-1) извлекает символы от третьего до предпоследнего в строке.

let array1 = [1, 2, 3, 4, 5, 6, 7];
array2 = array1.slice(1, 4);
array3 = array1.slice(1, -2);
array4 = array1.slice(3);
array5 = array1.slice(30);
console.log(array2); // [2, 3, 4]
console.log(array3); // [2, 3, 4, 5]
console.log(array4); // [4, 5, 6, 7].
console.log(array5); // []

Важно: исходный массив не изменяется.

Функция splice() изменяет содержимое массива, удаляя или заменяя существующие элементы и/или добавляя новые элементы.

Синтаксис:
array.splice(index, deleteCount, item1, ..., itemX)

Функция всегда изменяет исходный массив и возвращает удаленные/замененные элементы в соответствии с аргументами, переданными функции:
- index — это позиция в массиве, с которой начинается его изменение. Если отрицательный, он будет начинаться с конца массива.
deleteCount (необязательно) — это количество элементов, которые нужно удалить, начиная с указанного index. Если установлено значение 0, элементы не будут удалены. Например, array.splice(0, 2) удалит первые два элемента массива.
- item1, item2 … itemX — это элементы, которые будут добавлены в массив, начиная с указанного index, если deleteCount равно 0. Однако, если deleteCount больше единицы, функция заменит элементы, начиная с указанного index, и удалит оставшиеся. Например, array.splice(0, 2, 'banana', 'grape') заменит первый элемент массива на строку «банан», а второй — на строку «виноград».
— Если в функцию не передано ни одного элемента, splice удалит только элементы. Если deleteCount меньше числа items, функция добавит/заменит только deleteCount элементов. Если deleteCount больше, чем количество элементов, функция добавит/заменит items, переданное функции, и удалит последующие элементы массива.

let array = ['apple', 'orange', 'pear'];
array.splice(2); // ['pear']
console.log(array); // ['apple', 'orange']
array.splice(1, 1); // ['orange']
console.log(array); // ['apple']
array.splice(0, 0, 'banana', 'grape'); // []
console.log(array); // ['banana', 'grape', 'apple']
array.splice(1, 1, 'strawberry'); // ['grape']
console.log(array); // ['apple', 'strawberry', 'grape']

Надеюсь, это поможет вам так же, как помогло мне.

Не стесняйтесь комментировать и оставлять отзывы ниже

Использованная литература: