Page 113 - 6105
P. 113

Так  як  масиви  є  об'єктами,  то  для  видалення  ключа  можна  скористатися

               звичайним delete:


                      var arr = [ "Я", "йду", "додому"];
                      delete arr [1]; // значення з індексом 1 видалено


                      // тепер arr = [ "Я", undefined, "додому"];
                      alert (arr [1]); // undefined

                      Елемент видалений з масиву, але на місці видаленого елементу утворилась

               «дірка». Це тому, що оператор delete видаляє пару «ключ-значення». Бажано, щоб

               при  видаленні  з  масиву,  всіінші    елементи  зсунулися.  Тому  для  видалення

               елементів з м асиву використовують спеціальні методи: з початку – shift, з кінця –

               pop, а з середини – splice.

                      Метод  splice  –  це  універсальний  розкладний  ніж  для  роботи  з  масивами.


               Вміє все: видаляти елементи, вставляти елементи, замінювати елементи - по черзі і
               одночасно. Його синтаксис:


                      arr.splice (index [, deleteCount, elem1, ..., elemN])
                      Видалити  deleteCount  елементів,  починаючи  з  номера  index,  а  потім


               вставити elem1, ..., elemN на їх місце. Повертає масив з віддалених елементів.
                      Цей метод найпростіше зрозуміти, розглянувши приклади.


                      Почнемо з видалення:

                      var arr = [ "Я", "вивчаю", "JavaScript"];

                      arr.splice (1, 1); // починаючи з позиції 1, видалити 1

               елемент

                      alert (arr); // залишилося [ "Я", "JavaScript"]
                      У наступному прикладі ми видалимо 3 елементи і вставимо


               інші на їх місце:
                      var arr = [ "Я", "зараз", "вивчаю", "JavaScript"];


                      // видалити 3 перших елемента і додати інші замість них
                      arr.splice (0, 3, "Ми", "вивчаємо")



                                                                 112
   108   109   110   111   112   113   114   115   116   117   118