Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Sortering av Arrayer med sort()-Metoden | Avanserte Array-metoder og Transformasjoner
Javascript Datastrukturer

bookSortering av Arrayer med sort()-Metoden

sort()

Metoden sort() omorganiserer elementene i en tabell på stedet og returnerer den oppdaterte tabellen. Som standard fungerer sortering godt for strenger, men kan gi uventede resultater med tall.

Standard sorteringsatferd

Metoden sort() konverterer elementene til strenger som standard og sammenligner dem i Unicode-rekkefølge. Derfor fungerer den naturlig for strenger, men numeriske tabeller kan gi uventede resultater med mindre du oppgir en sammenligningsfunksjon.

123
const numbers = [1, 2, 10, 21]; numbers.sort(); console.log(numbers); // Output: 1, 10, 2, 21
copy

For å sortere tall korrekt, bruk en sammenligningsfunksjon:

1234
const numbers = [1, 2, 10, 21]; const ascending = [...numbers].sort((a, b) => a - b); console.log(ascending); // Output: 1, 2, 10, 21
copy

Tilpassede sorteringsrekkefølger

For å tilpasse sortering til spesifikke behov, benyttes en tilbakeringingsfunksjon. Denne funksjonen, ofte kalt en sammenligningsfunksjon, bestemmer sorteringslogikken. La oss utforske tilpasset sortering for både tall og strenger. Grunnleggende syntaks:

array.sort((a, b) => {
  // Callback body
});
  • a regnes som det første elementet;
  • b regnes som det andre elementet.

Sortere tall

I dette tilfellet bestemmer sammenligningsfunksjonen stigende og synkende rekkefølge basert på forholdet mellom elementene a og b.

1234567
const numbers = [34, 25, 19, 1, 92, 2, 3]; const ascendingNumbers = [...numbers].sort((a, b) => a - b); console.log(ascendingNumbers); // Output: 1, 2, 3, 19, 25, 34, 92 const descendingNumbers = [...numbers].sort((a, b) => b - a); console.log(descendingNumbers); // Output: 92, 34, 25, 19, 3, 2, 1
copy

Sortere strenger

Metoden localeCompare() muliggjør alfabetisk sortering, og gir tilpasning for både stigende og synkende rekkefølge.

1234567
const employees = ["Antonia", "Rene", "Casey", "Lorraine", "Shelia"]; const inAlphabetOrder = [...employees].sort((a, b) => a.localeCompare(b)); console.log(inAlphabetOrder); // Antonia, Casey, Lorraine, Rene, Shelia const inReversedOrder = [...employees].sort((a, b) => b.localeCompare(a)); console.log(inReversedOrder); // Shelia, Rene, Lorraine, Casey, Antonia
copy

1. Hva er en nøkkelfunksjon ved sort()-metoden?

2. Hvordan behandler sort()-metoden elementene med standard sorteringsatferd?

3. I eksempelet nedenfor, hva vil utskriften være?

question mark

Hva er en nøkkelfunksjon ved sort()-metoden?

Select the correct answer

question mark

Hvordan behandler sort()-metoden elementene med standard sorteringsatferd?

Select the correct answer

question mark

I eksempelet nedenfor, hva vil utskriften være?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 5. Kapittel 7

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

bookSortering av Arrayer med sort()-Metoden

Sveip for å vise menyen

sort()

Metoden sort() omorganiserer elementene i en tabell på stedet og returnerer den oppdaterte tabellen. Som standard fungerer sortering godt for strenger, men kan gi uventede resultater med tall.

Standard sorteringsatferd

Metoden sort() konverterer elementene til strenger som standard og sammenligner dem i Unicode-rekkefølge. Derfor fungerer den naturlig for strenger, men numeriske tabeller kan gi uventede resultater med mindre du oppgir en sammenligningsfunksjon.

123
const numbers = [1, 2, 10, 21]; numbers.sort(); console.log(numbers); // Output: 1, 10, 2, 21
copy

For å sortere tall korrekt, bruk en sammenligningsfunksjon:

1234
const numbers = [1, 2, 10, 21]; const ascending = [...numbers].sort((a, b) => a - b); console.log(ascending); // Output: 1, 2, 10, 21
copy

Tilpassede sorteringsrekkefølger

For å tilpasse sortering til spesifikke behov, benyttes en tilbakeringingsfunksjon. Denne funksjonen, ofte kalt en sammenligningsfunksjon, bestemmer sorteringslogikken. La oss utforske tilpasset sortering for både tall og strenger. Grunnleggende syntaks:

array.sort((a, b) => {
  // Callback body
});
  • a regnes som det første elementet;
  • b regnes som det andre elementet.

Sortere tall

I dette tilfellet bestemmer sammenligningsfunksjonen stigende og synkende rekkefølge basert på forholdet mellom elementene a og b.

1234567
const numbers = [34, 25, 19, 1, 92, 2, 3]; const ascendingNumbers = [...numbers].sort((a, b) => a - b); console.log(ascendingNumbers); // Output: 1, 2, 3, 19, 25, 34, 92 const descendingNumbers = [...numbers].sort((a, b) => b - a); console.log(descendingNumbers); // Output: 92, 34, 25, 19, 3, 2, 1
copy

Sortere strenger

Metoden localeCompare() muliggjør alfabetisk sortering, og gir tilpasning for både stigende og synkende rekkefølge.

1234567
const employees = ["Antonia", "Rene", "Casey", "Lorraine", "Shelia"]; const inAlphabetOrder = [...employees].sort((a, b) => a.localeCompare(b)); console.log(inAlphabetOrder); // Antonia, Casey, Lorraine, Rene, Shelia const inReversedOrder = [...employees].sort((a, b) => b.localeCompare(a)); console.log(inReversedOrder); // Shelia, Rene, Lorraine, Casey, Antonia
copy

1. Hva er en nøkkelfunksjon ved sort()-metoden?

2. Hvordan behandler sort()-metoden elementene med standard sorteringsatferd?

3. I eksempelet nedenfor, hva vil utskriften være?

question mark

Hva er en nøkkelfunksjon ved sort()-metoden?

Select the correct answer

question mark

Hvordan behandler sort()-metoden elementene med standard sorteringsatferd?

Select the correct answer

question mark

I eksempelet nedenfor, hva vil utskriften være?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 5. Kapittel 7
some-alt