Sortering av Arrayer med sort()-Metoden
sort()
Metoden sort() omarrangerar elementen i en array på plats och returnerar den uppdaterade arrayen. Som standard fungerar sortering bra för strängar men kan ge oväntade resultat med tal.
Standardbeteende vid sortering
Standardbeteendet för sortering fungerar smidigt för arrayer av strängar, men numeriska arrayer kan innebära utmaningar. Följande exempel belyser detta beteende:
123const numbers = [51, 12, 43, 24, 65, 36]; numbers.sort(); console.log(numbers); // Output: 12, 24, 36, 43, 51, 65
I detta exempel sorteras arrayen av tal i stigande ordning, vilket verkar enkelt. Dock uppstår nyanser i den efterföljande illustrationen:
123const numbers = [34, 25, 19, 1, 92, 2, 3]; numbers.sort(); console.log(numbers); // Output: 1, 19, 2, 25, 3, 34, 92
sort()-metoden behandlar element som strängar som standard, vilket kan leda till oväntade resultat. Till exempel sorteras 19 före 2, och 25 före 3. Lösningen är att anpassa sorteringsprocessen.
Anpassade sorteringsordningar
För att anpassa sorteringen efter specifika behov används en callback-funktion. Denna funktion, ofta kallad jämförelsefunktion, bestämmer sorteringslogiken. Låt oss utforska anpassad sortering för både tal och strängar. Grundläggande syntax:
array.sort((a, b) => {
// Callback body
});
abetraktas som det första elementet;bbetraktas som det andra elementet.
Sortera tal
I detta exempel bestämmer jämförelsefunktionen stigande och fallande ordning baserat på relationen mellan elementen a och 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
Sortera strängar
Metoden localeCompare() möjliggör alfabetisk sortering och tillåter anpassning för både stigande och fallande ordning.
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. Vad är en nyckeleigenskap hos metoden sort()?
2. Hur behandlar sort()-metoden element i sitt standardbeteende?
3. Vad blir utdata i exemplet nedan?
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Fantastiskt!
Completion betyg förbättrat till 2.27
Sortering av Arrayer med sort()-Metoden
Svep för att visa menyn
sort()
Metoden sort() omarrangerar elementen i en array på plats och returnerar den uppdaterade arrayen. Som standard fungerar sortering bra för strängar men kan ge oväntade resultat med tal.
Standardbeteende vid sortering
Standardbeteendet för sortering fungerar smidigt för arrayer av strängar, men numeriska arrayer kan innebära utmaningar. Följande exempel belyser detta beteende:
123const numbers = [51, 12, 43, 24, 65, 36]; numbers.sort(); console.log(numbers); // Output: 12, 24, 36, 43, 51, 65
I detta exempel sorteras arrayen av tal i stigande ordning, vilket verkar enkelt. Dock uppstår nyanser i den efterföljande illustrationen:
123const numbers = [34, 25, 19, 1, 92, 2, 3]; numbers.sort(); console.log(numbers); // Output: 1, 19, 2, 25, 3, 34, 92
sort()-metoden behandlar element som strängar som standard, vilket kan leda till oväntade resultat. Till exempel sorteras 19 före 2, och 25 före 3. Lösningen är att anpassa sorteringsprocessen.
Anpassade sorteringsordningar
För att anpassa sorteringen efter specifika behov används en callback-funktion. Denna funktion, ofta kallad jämförelsefunktion, bestämmer sorteringslogiken. Låt oss utforska anpassad sortering för både tal och strängar. Grundläggande syntax:
array.sort((a, b) => {
// Callback body
});
abetraktas som det första elementet;bbetraktas som det andra elementet.
Sortera tal
I detta exempel bestämmer jämförelsefunktionen stigande och fallande ordning baserat på relationen mellan elementen a och 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
Sortera strängar
Metoden localeCompare() möjliggör alfabetisk sortering och tillåter anpassning för både stigande och fallande ordning.
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. Vad är en nyckeleigenskap hos metoden sort()?
2. Hur behandlar sort()-metoden element i sitt standardbeteende?
3. Vad blir utdata i exemplet nedan?
Tack för dina kommentarer!