JavaScript Array toSorted()

Definition og brug

toSorted() Metoden sorterer array elementer efter alfabetisk rækkefølge.

toSorted() Metoden returnerer en ny array.

toSorted() Metoden overskriver ikke den oprindelige array.

toSorted() Metoden er sort() Kopieret version af metoden.

Se også:

Array sort() metode

Array reverse() metode

Sorterings sammenligningsfunktion

At sortere efter alfabetisk rækkefølge fungerer godt for strenge ("Apple" kommer før "Banana").

Men, at sortere tal kan føre til forkerte resultater.

"25" er større end "100", fordi "2" er større end "1".

Dette problem kan løses ved at tilbyde en "sammenligningsfunktion" (se eksemplet nedenfor).

Eksempel

Eksempel 1

// Opret en array
const fruits = ["Banana", "Orange", "Apple", "Mango"];
// Sorter arrayet
const fruits2 = fruits.toSorted();

Prøv det selv

Eksempel 2

Sorteret og omvendt rækkefølge:

// Opret en array
const fruits = ["Banana", "Orange", "Apple", "Mango"];
// Sorter arrayet
const fruits2 = fruits.toSorted();
// Tilføj omvendt array
fruits2.reverse();

Prøv det selv

Eksempel 3

Sorter tal i stigende rækkefølge ved hjælp af en sorteringsfunktion:

// Opret en array
const points = [40, 100, 1, 5, 25, 10];
// Sorter arrayet
let points2 = points.toSorted(function(a, b){return a - b});

Prøv det selv

Eksempel 4

Sorter tal i faldende rækkefølge:

// Opret en array
const points = [40, 100, 1, 5, 25, 10];
// Sorter arrayet
let points2 = points.toSorted(function(a, b){return b - a});

Prøv det selv

Eksempel 5

Find det mindste tal:

// Opret en array
const points = [40, 100, 1, 5, 25, 10];
// Sorter tal i stigende rækkefølge
let points2 = points.toSorted(function(a, b){return a - b});
let lowest = points2[0];

Prøv det selv

Eksempel 6

Find det største tal:

// Opret en array
const points = [40, 100, 1, 5, 25, 10];
// Sorter tal i faldende rækkefølge
let points2 = points.toSorted(function(a, b){return b - a});
let highest = points2[0];

Prøv det selv

Eksempel 7

Find det største tal:

// Opret en array
const points = [40, 100, 1, 5, 25, 10];
// Sorter tal i stigende rækkefølge
let points2 = points.toSorted(function(a, b){return a - b});
let highest = points2[points.length - 1];

Prøv det selv

Syntaks

array.sort(compareFunction)

Argumenter

Argumenter Beskrivelse
compareFunction

Valgfri. Definerer en funktion til at bestemme sorteringsrækkefølgen. Denne funktion skal returnere en negativ, nul eller positiv værdi baseret på argumenterne:

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

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

Eksempel:

Sorteringsfunktionen ser 40 som mindre end 100.

Når der sammenlignes 40 og 100, kalder sort() funktionen function(40, 100).

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

Returværdi

Type Beskrivelse
Array En ny sorteret array.

Browser understøttelse

toSorted() Er en funktion af ES2023.

Fra juli 2023 og fremefter understøtter alle moderne browsere denne metode:

Chrome Edge Firefox Safari Opera
Chrome 110 Edge 110 Firefox 115 Safari 16.4 Opera 96
Februar 2023 Februar 2023 Juli 2023 Marts 2023 Maj 2023