
Советы по 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']
Надеюсь, это поможет вам так же, как помогло мне.
Не стесняйтесь комментировать и оставлять отзывы ниже