Page 98 - 6108
P. 98
delete arr [1]; // arr = [ " Happy ", undefined, " Year"];
Оператор delete лише видаляє пару «ключ-значення». і не змінює позиції
елементів,що залишилися. Тому для видалення використовуються спеціальні
методи: з початку – shift(), з кінця – pop(), а з середини – splice().
Метод splice() – це універсальний розкладний ніж для роботи з
масивами. Вміє все: видаляти елементи, вставляти елементи, замінювати
елементи - по черзі і одночасно.
arr.splice (index [], deleteCount, elem1, ..., elemN)
Видалити deleteCount елементів, починаючи з номера index, а потім
вставити elem1, ..., elemN на їх місце. Повертає масив з віддалених
елементів.
Метод splice також може вставляти елементи без видалення, для цього
достатньо встановити deleteCount в 0.
Допускається використання негативного номера позиції, яка в цьому
випадку відраховується з кінця.
Метод slice(begin, end) копіює ділянку масиву від begin до end, не
включаючи end. Вихідний масив при цьому не змінюється.
– Якщо не вказати end – копіювання буде до кінця масиву:
– Можна використовувати негативні індекси, вони відраховуються з кінця:
– Якщо взагалі не вказати аргументів - скопіюється весь масив:
Синтаксис методу slice однаковий для рядків і для масивів.
Метод arr.sort() сортує масив arr на місці. За замовчуванням sort()
сортує, перетворюючи елементи до рядка. Для вказівки свого порядку
сортування в метод arr.sort(fn) потрібно передати функцію fn від двох
аргументів, яка вміє порівнювати їх.
var arr = [1, 14, 7, 11];
arr.sort (); // 1, 11, 14, 7
Алгоритм сортування, вбудований в JavaScript, буде передавати їй для
порівняння елементи масиву. Вона повинна повертати:
– Позитивне значення, якщо a> b,
– Негативне значення, якщо a <b,
– Якщо рівні - можна 0, але взагалі - не важливо, що повертати, їх
взаємний порядок не має значення.
function compare(a, b) {
return a – b;
}
var arr = [1, 14, 7, 11];
arr.sort (compare); // 1, 7, 11, 14
Метод arr.reverse() змінює порядок елементів в масиві на зворотний.
var arr = [1, 2, 3];
arr.reverse (); // 3,2,1