Przejdź do treści

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"}]

Komentarze

Zobacz więcej komentarzy

Facebook