Sortering 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:
123const numbers = [51, 12, 43, 24, 65, 36]; numbers.sort(); console.log(numbers); // Output: 12, 24, 36, 43, 51, 65
I dette eksemplet blir arrayet med tall sortert i stigende rekkefølge, tilsynelatende ukomplisert. Likevel oppstår det nyanser i den neste illustrasjonen:
123const numbers = [34, 25, 19, 1, 92, 2, 3]; numbers.sort(); console.log(numbers); // Output: 1, 19, 2, 25, 3, 34, 92
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
});
aregnes som det første elementet;bregnes 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.
1234567const 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
Sortering av strenger
Metoden localeCompare() muliggjør alfabetisk sortering, og gir tilpasning for både stigende og synkende rekkefølge.
1234567const 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
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?
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
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
Sortering 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:
123const numbers = [51, 12, 43, 24, 65, 36]; numbers.sort(); console.log(numbers); // Output: 12, 24, 36, 43, 51, 65
I dette eksemplet blir arrayet med tall sortert i stigende rekkefølge, tilsynelatende ukomplisert. Likevel oppstår det nyanser i den neste illustrasjonen:
123const numbers = [34, 25, 19, 1, 92, 2, 3]; numbers.sort(); console.log(numbers); // Output: 1, 19, 2, 25, 3, 34, 92
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
});
aregnes som det første elementet;bregnes 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.
1234567const 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
Sortering av strenger
Metoden localeCompare() muliggjør alfabetisk sortering, og gir tilpasning for både stigende og synkende rekkefølge.
1234567const 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
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?
Takk for tilbakemeldingene dine!