Sortering 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.
123const numbers = [1, 2, 10, 21]; numbers.sort(); console.log(numbers); // Output: 1, 10, 2, 21
For å sortere tall korrekt, bruk en sammenligningsfunksjon:
1234const numbers = [1, 2, 10, 21]; const ascending = [...numbers].sort((a, b) => a - b); console.log(ascending); // Output: 1, 2, 10, 21
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
});
aregnes som det første elementet;bregnes som det andre elementet.
Sortere 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
Sortere 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 med standard sorteringsatferd?
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
Fantastisk!
Completion rate forbedret til 2.27
Sortering 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.
123const numbers = [1, 2, 10, 21]; numbers.sort(); console.log(numbers); // Output: 1, 10, 2, 21
For å sortere tall korrekt, bruk en sammenligningsfunksjon:
1234const numbers = [1, 2, 10, 21]; const ascending = [...numbers].sort((a, b) => a - b); console.log(ascending); // Output: 1, 2, 10, 21
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
});
aregnes som det første elementet;bregnes som det andre elementet.
Sortere 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
Sortere 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 med standard sorteringsatferd?
3. I eksempelet nedenfor, hva vil utskriften være?
Takk for tilbakemeldingene dine!