Page 161 - Браун Э. - Изучаем JavaScript. Руководство по созданию современных веб-сайтов - 2017
P. 161
Обратите внимание, что concat разделяет массивы, предоставленные только не
посредственно; он не разделяет массивы в этих массивах.
п
Получение о дмассива
Если вы хотите получить подмассив из массива, используйте метод l ice, кото
s
рому можно передать два аргумента. Первый аргумент - индекс начала подмассива,
а второй - индекс его конца (не включая указанный элемент). Если пропустить ко
нечный аргумент, возвратятся все элементы до конца массива. Этот метод позволяет
использовать отрицательные индексы для ссылки на элементы относительно конца
массива, что весьма удобно. Рассмотрим примеры.
const arr = [ 1 , 2 , 3 , 4 , 5 ] ;
arr . s lice ( 3 ) ; 1 1 возвращает [ 4 , 5] ; arr неизменен
arr . s lice ( 2 , 4 ) ; 1 1 возвраща ет [3, 41 ; arr неизменен
arr . s lice ( - 2 ) ; 1 1 возвращает [ 4 , 5] ; arr неизменен
arr . s l i c e ( l , -2 ) ; 1 1 возвращает [2, 3] ; arr неизменен
r
ar . slice ( - 2 , - 1 ) ; 1 1 возвращает [ 41 ; arr неизменен
Доба в л е н и е и удаление элементов в любо й п о з и ц и и
s
Метод p l i c e позволяет изменять массив о месту, добавляя и/или удаляя эле
п
менты из любого индекса. Первый аргумент - индекс, с которого должно начинать
ся изменение; второй аргумент - количество удаляемых элементов (если вы не хо
тите удалять элементы, используйте О), а остальные аргументы - это добавляемые
элементы. Рассмотрим примеры.
const arr = [ 1 / 5 , 7 ] ;
arr . splice ( l , О , 2 , 3 , 4 ) ; 1 1 возвращает [] ; теперь arr [ 1 , 2, 3, 4 , 5, 7)
arr . splice ( 5 , о , 6 ) ; 1 1 возвращает [ } ; теперь arr [ 1 , 2, 3, 4, 5, 6, 7]
arr . splice ( l , 2 ) ; 1 1 возвращает [2, 3] ; теперь arr [1 , 4 , 5, 6, 7]
arr . splice ( 2 , 1 , , а 1 , ' Ь ' ) ; 1 1 возвращает [5] ; теперь arr [1 , 4, 'а ' , 'Ь ' , 6, 7]
Копирование и встав к а в пределах массива
Спецификация ЕSб представляет новый метод, copyWi thin, получающий после
довательность элементов из массива, и копирующий по месту, в другую часть масси
ва, переписывая любые находящиеся там элементы. Первый аргумент - откуда ко
пировать, второй аргумент - куда копировать, а заключительный (необязательный)
s
аргумент - где прекратить копирование. Как и в методе l ice, вы можете исполь
зовать отрицательные числа для индексов начала и завершения; они рассчитываются
от конца массива. Рассмотрим примеры.
const arr = [ 1 , 2 , 3 , 4 ] ;
arr . copyWithin ( l , 2 ) ; / / теперь arr [1 , 3 , 4 , 41
1 6 2 Глава 8. Массивы и их обработка

