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. Массивы и их обработка
   156   157   158   159   160   161   162   163   164   165   166