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