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

Dette kapittelet utforsker detaljene ved sort()-metoden, inkludert dens syntaks, standardoppførsel og teknikker for egendefinert sortering.

sort()

sort()-metoden endrer den opprinnelige tabellen og gir den en ny rekkefølge.

Viktige egenskaper å merke seg:

  • Den opprinnelige tabellen endres, og elementene får en ny rekkefølge;
  • Metoden returnerer en modifisert tabell, som muliggjør videre utforskning;
  • Som standard sorterer sort()-metoden elementene i stigende rekkefølge.

Standard sorteringsatferd

Standard sortering fungerer sømløst for strenge-arrays, 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 arrayet med tall sortert i stigende rekkefølge, tilsynelatende ukomplisert. Likevel oppstår det nyanser i den neste 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 callback-funksjon. 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.

Sortering av 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, 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 i standard sorteringsmodus?

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 i standard sorteringsmodus?

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

Awesome!

Completion rate improved to 2.27

bookSortering av Arrayer med sort()-Metoden

Sveip for å vise menyen

Dette kapittelet utforsker detaljene ved sort()-metoden, inkludert dens syntaks, standardoppførsel og teknikker for egendefinert sortering.

sort()

sort()-metoden endrer den opprinnelige tabellen og gir den en ny rekkefølge.

Viktige egenskaper å merke seg:

  • Den opprinnelige tabellen endres, og elementene får en ny rekkefølge;
  • Metoden returnerer en modifisert tabell, som muliggjør videre utforskning;
  • Som standard sorterer sort()-metoden elementene i stigende rekkefølge.

Standard sorteringsatferd

Standard sortering fungerer sømløst for strenge-arrays, 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 arrayet med tall sortert i stigende rekkefølge, tilsynelatende ukomplisert. Likevel oppstår det nyanser i den neste 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 callback-funksjon. 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.

Sortering av 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, 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 i standard sorteringsmodus?

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 i standard sorteringsmodus?

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