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 et array på stedet og returnerer det oppdaterte arrayet. Som standard fungerer sortering godt for strenger, men kan gi uventede resultater med tall.

Standard sorteringsatferd

Standard sortering fungerer sømløst for arrays med strenger, men numeriske arrays kan by på utfordringer. La oss se på eksempler for å belyse denne atferden:

123
const numbers = [51, 12, 43, 24, 65, 36]; numbers.sort(); console.log(numbers); // Output: 12, 24, 36, 43, 51, 65
copy

I dette eksemplet blir en matrise med tall sortert i stigende rekkefølge, noe som tilsynelatende virker enkelt. Imidlertid oppstår det nyanser i den påfølgende illustrasjonen:

123
const numbers = [34, 25, 19, 1, 92, 2, 3]; numbers.sort(); console.log(numbers); // Output: 1, 19, 2, 25, 3, 34, 92
copy

Metoden sort() behandler elementene som strenger som standard, noe som kan føre til uventede resultater. For eksempel blir 19 sortert før 2, og 25 før 3. Løsningen ligger i å tilpasse sorteringsprosessen.

Tilpassede sorteringsrekkefølger

For å tilpasse sorteringen 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

Sortering av strenger

Metoden localeCompare() muliggjør alfabetisk sortering, med 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 sentral egenskap ved sort()-metoden?

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

3. Hva vil være output i eksempelet nedenfor?

question mark

Hva er en sentral egenskap ved sort()-metoden?

Select the correct answer

question mark

Hvordan behandler sort()-metoden elementene i sin standard sorteringsatferd?

Select the correct answer

question mark

Hva vil være output i eksempelet nedenfor?

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 et array på stedet og returnerer det oppdaterte arrayet. Som standard fungerer sortering godt for strenger, men kan gi uventede resultater med tall.

Standard sorteringsatferd

Standard sortering fungerer sømløst for arrays med strenger, men numeriske arrays kan by på utfordringer. La oss se på eksempler for å belyse denne atferden:

123
const numbers = [51, 12, 43, 24, 65, 36]; numbers.sort(); console.log(numbers); // Output: 12, 24, 36, 43, 51, 65
copy

I dette eksemplet blir en matrise med tall sortert i stigende rekkefølge, noe som tilsynelatende virker enkelt. Imidlertid oppstår det nyanser i den påfølgende illustrasjonen:

123
const numbers = [34, 25, 19, 1, 92, 2, 3]; numbers.sort(); console.log(numbers); // Output: 1, 19, 2, 25, 3, 34, 92
copy

Metoden sort() behandler elementene som strenger som standard, noe som kan føre til uventede resultater. For eksempel blir 19 sortert før 2, og 25 før 3. Løsningen ligger i å tilpasse sorteringsprosessen.

Tilpassede sorteringsrekkefølger

For å tilpasse sorteringen 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

Sortering av strenger

Metoden localeCompare() muliggjør alfabetisk sortering, med 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 sentral egenskap ved sort()-metoden?

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

3. Hva vil være output i eksempelet nedenfor?

question mark

Hva er en sentral egenskap ved sort()-metoden?

Select the correct answer

question mark

Hvordan behandler sort()-metoden elementene i sin standard sorteringsatferd?

Select the correct answer

question mark

Hva vil være output i eksempelet nedenfor?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 5. Kapittel 7
some-alt