Page 160 - Браун Э. - Изучаем JavaScript. Руководство по созданию современных веб-сайтов - 2017
P. 160
регистре, но сама s t r останется неизменной. С другой стороны, если
вы вызываете s t r . downcase ! , то это изменит саму строку s t r . Т о т
факт, что стандартные библиотеки JavaScript не предоставляют ин
формации о том, какие методы возвращают копию, а какие модифи
цируют источник, по моему мнению, является одним из недостатков
языка, требующего ненужного запоминания.
Доба в лени е отдельных элементов
в начало или конец и их удалени е
Обращаясь к началу массива, ы обращаемся к его первому элементу (элемен
м
ту О). Аналогично конец массива является элементом с наибольшим индексом (точ
нее элементом arr . length-1 массива arr). Методы push и рор добавляют элементы
в конец массива (по месту) и удаляют их соответственно. Методы shi ft и unshift
добавляют элементы в начало массива (по месту) и удаляют их соответственно.
Названия этих методов происходят от терминов из информатики. По
мещение (push) и извлечение (рор) - это действия со стеком (stack),
в котором первым извлекается элемент, добавленный последним. Ме
тоды shift и unshift обрабатывают массив как очередь (queue), в ко-
торой первым извлекается элемент, добавленный в очередь первым.
Методы push и unshift возвращают новую длину массива после добавления но
вого элемента, а рор и shift возвращают удаленный элемент. Вот примеры этих ме
тодов в действии.
const arr = [ " Ь " , " с " , "d" ] ;
arr . p ush ( " e" ) ; 1 1 возвращает 4 ; теперь arr [ " Ь", "с", "d", "е "]
arr р ор ) ; 11 возвращает "е"; теперь arr [ "Ь", "с", "d"J
(
.
arr . u nshift ( " a " ) ; 1 1 возвращает 4 ; теперь arr [ "а ", "Ь", "с", "d"J
(
arr . shift ) ; 11 возвращает "а "; теперь arr [ "Ь ", "с", "d"]
Доба в лени е нескольких элементов в конец
Метод concat добавляет в массив несколько элементов и возвращает его копию.
Если передать методу concat массивы, он разделит их и добавит их элементы в ис
ходный массив. Рассмотрим примеры.
const arr = ( 1 , 2 , 3 ] ;
arr . concat ( 4 , 5 , 6 ) ; 1 1 возвращает [1 , 2, 3 , 4 , 5 , 6] ; arr неизменен
arr . concat ( [ 4 , 5 , 6 ] ) ; 11 возвращает [ 1 , 2 , 3 , 4 , 5 , 6) ; arr неизменен
arr . concat ( [ 4 , 5 ] 1 6 ) ; 11 возвращает [ 1 , 2 , 3 , 4 , 5 , 6) ; arr неизменен
4
arr . concat ( [ , [ 5 , 6 ] ] ) ; 1 1 возвращает [1 , 2, 3, 4 , [5, 6] ] ; arr неизменен
Ман и пулирование содержимым массива 161

