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
   155   156   157   158   159   160   161   162   163   164   165