Sortering 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:
123const numbers = [51, 12, 43, 24, 65, 36]; numbers.sort(); console.log(numbers); // Output: 12, 24, 36, 43, 51, 65
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:
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 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
Sortering av strenger
Metoden localeCompare() muliggjør alfabetisk sortering, med 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 sentral egenskap ved sort()-metoden?
2. Hvordan behandler sort()-metoden elementene i sin standard sorteringsatferd?
3. Hva vil være output i eksempelet nedenfor?
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 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:
123const numbers = [51, 12, 43, 24, 65, 36]; numbers.sort(); console.log(numbers); // Output: 12, 24, 36, 43, 51, 65
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:
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 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
Sortering av strenger
Metoden localeCompare() muliggjør alfabetisk sortering, med 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 sentral egenskap ved sort()-metoden?
2. Hvordan behandler sort()-metoden elementene i sin standard sorteringsatferd?
3. Hva vil være output i eksempelet nedenfor?
Takk for tilbakemeldingene dine!