Array.prototype - JS
sort
Jak posortować elementy tablicy w porządku alfabetycznym?
Array.prototype.sort() Array.prototype.sort(comparefn)
- Parametry:
Function
comparefn - funkcja porównująca dwa elementy tablicy (domyślnie elementy są sortowane w porządku alfabetycznym); zwraca:- liczbę mniejszą od zera - gdy pierwszy element jest mniejszy niż drugi
- zero - gdy oba elementy są równe
- liczbę większą od zera - gdy pierwszy element jest większy niż drugi
- Wartość:
Array
- posortowana tablica
Układa elementy tablicy w określonym porządku. Domyślnie odbywa się to alfabetycznie, ale możemy określić swój własny układ, podając funkcję porównującą, która będzie wywoływana zawsze dla dwóch elementów tablicy - za każdym razem innych - tyle razy ile będzie konieczne, aby posortować całą tablicę.
Funkcja Array.prototype.sort
nie tworzy nowej instancji tablicy, ale zawsze zmienia oryginalną, która jest również przez nią zwracana.
Przykład Array.prototype.sort
var items = [3, 2, 1]; items.sort(); // [1, 2, 3] items; // [1, 2, 3] var f = function (x, y) { return y - x; }; items.sort(f); // [3, 2, 1] items; // [3, 2, 1] var persons = [{name: "John"}, {name: "Anna"}, {name: "Tom"}]; f = function (x, y) { if (x.name < y.name) return -1; if (x.name > y.name) return 1; return 0; }; persons.sort(f); // [{name: "Anna"}, {name: "John"}, {name: "Tom"}]