JavaScript Array sort()

Definicja i użycie

sort() Metoda sortuje elementy tablicy.

Porządek sortowania może być alfabetyczny lub numeryczny, a także rosnący (w górę) lub malejący (w dół).

Domyślnie:sort() Metoda sortuje wartości jako ciągi znaków, alfabetycznie i w porządku rosnącym.

To dotyczy ciągów znaków ("Apple" pojawia się przed "Banana"). Ale jeśli liczby są sortowane jako ciągi znaków, "25" jest większe niż "100", ponieważ "2" jest większe niż "1".

Dlatego że:sort() Metoda może generować niepoprawne wyniki podczas sortowania liczb.

Możesz rozwiązać ten problem, dostarczając "funkcję porównania" (zobacz poniżej "Wartości parametrów").

Komentarz:sort() Metoda zmienia oryginalną tablicę.

Przykład

Przykład 1

Sortuj tablicę:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();

Spróbuj sam

Przykład 2

Sortuj liczby w tablicy w porządku rosnącym:

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a-b});

Spróbuj sam

Przykład 3

Sortuj liczby w tablicy w porządku malejącym:

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b-a});

Spróbuj sam

Przykład 4

Uzyskaj najmniejszą wartość z tablicy:

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a-b});    // Sortuj liczby w tablicy w porządku rosnącym
// Pierwszy element tablicy (points[0]) jest teraz najniższą wartością

Spróbuj sam

Przykład 5

Uzyskaj największą wartość z tablicy:

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b-a});    // Sortuj liczby w tablicy w porządku malejącym
// Pierwszy element tablicy (points[0]) jest teraz najwyższą wartością

Spróbuj sam

Przykład 6

Uzyskaj największą wartość z tablicy:

const points = [40, 100, 1, 5, 25, 10];
// Sortuj liczby w porządku rosnącym:
points.sort(function(a, b){return a-b});
// points[points.length-1] = 100 (najwyższa wartość)

Spróbuj sam

Przykład 7

Sortuj tablicę alfabetycznie, a następnie odwróć kolejność sortowania (malejąco):

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();
fruits.reverse();

Spróbuj sam

Gramatyka

array.sort(compareFunction)

Wartości parametrów

Parametry Opis
compareFunction

Opcjonalnie. Definiuje funkcję alternatywnej kolejności sortowania. Funkcja ta powinna zwracać ujemną, zerową lub dodatnią wartość w zależności od parametrów, na przykład:

  • function(a, b){return a-b}

Kiedy metoda sort() porównuje dwie wartości, przesyła je do funkcji porównawczej i sortuje je na podstawie zwróconej wartości (ujemnej, zero, dodatniej).

Przykład:

Porównując 40 i 100, metoda sort() wywołuje funkcję porównawczą(40, 100).

Funkcja oblicza 40-100 i zwraca -60 (ujemna wartość).

Funkcja sort() ustawia 40 jako wartość mniejszą niż 100.

Szczegółowe informacje techniczne

Zwracana wartość: Obiekt Array, w którym elementy są posortowane.
Wersja JavaScript: ECMAScript 1

obsługa przeglądarek

wszystkie przeglądarki obsługują ją w pełni sort() Metoda:

Chrome IE Edge Firefox Safari Opera
Chrome IE Edge Firefox Safari Opera
obsługa obsługa obsługa obsługa obsługa obsługa

powiązane strony

Tutorial:JavaScript tablica

Tutorial:Metody tablic JavaScript Const

Tutorial:Metody tablic JavaScript

Tutorial:Sortowanie tablic JavaScript

Tutorial:Iteracja tablic JavaScript

Podręcznik:Metoda reverse() tablicy JavaScript