Метод slice
вырезает и возвращает
указанную часть массива.
Первым параметром указывается номер элемента массива, с которого начинается вырезание, а вторым параметром - номер элемента, на котором закончится вырезание (при этом элемент с этим номером не включится в вырезанную часть).
Второй параметр не является обязательным. Если его не указать - подмассив возьмется с указанного в первом параметре элемента до конца массива.
Второй параметр также может принимать отрицательные
значения. В этом случае отсчет элемента,
на котором закончится обрезание, начинается
с конца массива. Причем, последний элемент
имеет номер -1
, предпоследний -2
и так далее.
К примеру, если написать slice(1, -1),
то вырезанная часть возьмется с первого элемента
включительно по последний не включая его.
Если вам нужно включить и последний элемент
- нужно просто не задавать второй параметр
для slice, вот так: slice(1)
.
Метод не изменяет исходный массив.
Напоминаю, что в массиве нумерация элементов начинается с нуля.
Синтаксис
массив.slice(откуда отрезать, [докуда отрезать])
Пример
Давайте вырежем из массива элементы с нулевого по второй не включительно (второй не вырежется):
let arr = ['a', 'b', 'c', 'd', 'e'];
let sub = arr.slice(0, 2);
console.log(sub);
Результат выполнения кода:
['a', 'b']
Пример
Давайте вырежем с первого элемента до конца массива. Для этого второй параметр не задаем:
let arr = ['a', 'b', 'c', 'd', 'e'];
let sub = arr.slice(1);
console.log(sub);
Результат выполнения кода:
['b', 'c', 'd', 'e']
Пример
Давайте вырежем элементы со второго по предпоследний (-1 указывает на последний элемент и он не включится в извлеченную часть):
let arr = ['a', 'b', 'c', 'd', 'e'];
let sub = arr.slice(1, -1);
console.log(sub);
Результат выполнения кода:
['b', 'c', 'd']
Преимущество такого подхода в том, что вырезаться всегда будет часть массива, не включая последний элемент, независимо от размера массива.
Смотрите также
-
метод
splice
,
который также отрезает части массива, изменяя при этом сам массив