Page 115 - 6105
P. 115

var arr = [ "Чому", "треба", "вчити", "JavaScript"];
                      var  arr2  =  arr.slice  (1,  3);  //  елементи  1,  2  (не


               включаючи 3)
                      alert (arr2); // треба вчити

                      Аргументи поводяться так само, як і в строковому slice:

                      Якщо не вказати end – копіювання буде до кінця масиву:


                          var arr = [ "Чому", "треба", "вчити", "JavaScript"];
                          alert  (arr.slice  (1));  //  взяти  всі  елементи,

               починаючи з номера 1

                      Можна використовувати від’ємні індекси, вони відраховуються з кінця:

                      var  arr2  =  arr.slice  (-2);  //  копіювати  від  2-го

               елемента з кінця і далі

                      Якщо взагалі не вказати аргументів – скопіюється весь масив:

                      var fullCopy = arr.slice ();

                      Метод sort () сортує масив на місці, наприклад:

                      var arr = [1, 2, 15];

                      arr.sort ();

                      alert (arr); // 1, 15, 2

                      Зауважте,  порядок  став  1,  15,  2,  тобто  числа  невідсортовано.  Це  сталося

               через те, що за замовчуванням sort сортуєне числа, а рядки. Тому і порядок у них

               рядковий, адже "2"> "15".

                      Для  вказівки  свого  порядку  сортування  в  метод  arr.sort  (fn)  потрібно

               передати функцію fn від двох елементів, яка вміє порівнювати їх.

                      Внутрішній алгоритм функції сортування вміє сортувати будь-які масиви –

               апельсинів, яблук, користувачів, і тих і інших і т.д. Але для цього йому потрібно

               знати, як їх порівнювати. Цю роль і виконує fn. Якщо цю функцію не вказати, то

               елементи сортуються як рядки.






                                                                 114
   110   111   112   113   114   115   116   117   118   119   120