JavaScript Array sort()

Definition og brug

sort() Metoden sorterer elementerne i arrayet.

Sorteringsrækkefølgen kan være alfabetisk eller numerisk, og kan være stigende (opad) eller faldende (nedad).

Som standard,sort() Metoden sorterer værdier som strenge i alfabetisk og stigende rækkefølge.

Dette gælder for strenge ("Apple" vises før "Banana"). Men hvis talne stavesorteres, er "25" større end "100", fordi "2" er større end "1".

Netop derfor,sort() Metoden genererer ikke korrekte resultater ved at sortere tal.

Du kan løse dette problem ved at levere en "sammenligningsfunktion" (se nedenstående "parametre").

Kommentarer:sort() Metoden ændrer den oprindelige array.

Eksempel

Eksempel 1

Sorter arrayet:

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

Prøv det selv

Eksempel 2

Sorter tal i stigende rækkefølge i arrayet:

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

Prøv det selv

Eksempel 3

Sorter tal i faldende rækkefølge i arrayet:

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

Prøv det selv

Eksempel 4

Få den laveste værdi i arrayet:

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a-b});    // Sorter tal i stigende rækkefølge
// Det første element (points[0]) er nu den laveste værdi

Prøv det selv

Eksempel 5

Få den højeste værdi i arrayet:

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b-a});    // Sorter tal i faldende rækkefølge
// Det første element (points[0]) er nu den højeste værdi

Prøv det selv

Eksempel 6

Få den højeste værdi i arrayet:

const points = [40, 100, 1, 5, 25, 10];
// Sorter tal i stigende rækkefølge:
points.sort(function(a, b){return a-b});
// points[points.length-1] = 100(højeste værdi)

Prøv det selv

Eksempel 7

Sorter arrayet efter alfabetisk rækkefølge og vend derefter rækkefølgen af sorteringsposter (faldende):

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

Prøv det selv

Syntax

array.sort(compareFunction)

Parameterværdi

Parameter Beskrivelse
compareFunction

Valgfri. Definer en funktion til at erstatte sorteringsordningen. Denne funktion skal returnere en negativ værdi, en zero værdi eller en positiv værdi afhængigt af parameterne, f.eks.:

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

Når sort() metoden sammenligner to værdier, sender den værdierne til sammenligningsfunktionen, og sorterer værdierne baseret på den tilbagevendte (negativ, zero, positiv) værdi.

Eksempel:

Når der sammenlignes 40 og 100, kalder sort() metoden sammenligningsfunktionen(40,100).

Funktionen beregner 40-100 og returnerer -60 (negativ værdi).

sort() funktionen sorterer 40 til værdier mindre end 100.

tekniske detaljer

Returværdi: Array objekt, hvor elementerne er sorteret.
JavaScript version: ECMAScript 1

browserstøtte

alle browsere understøtter fuldt sort() Metode:

Chrome IE Edge Firefox Safari Opera
Chrome IE Edge Firefox Safari Opera
støtte støtte støtte støtte støtte støtte

relaterede sider

Tutorial:JavaScript array

Tutorial:JavaScript array Const

Tutorial:JavaScript array metoder

Tutorial:JavaScript sort array

Tutorial:JavaScript array iteration

Handbog:JavaScript Array.reverse() metode