Arrays Sorteren met de sort()-Methode
sort()
De sort()-methode herschikt de elementen van een array op hun plaats en retourneert de bijgewerkte array. Standaard werkt sorteren goed voor strings, maar kan het onverwacht gedrag vertonen bij getallen.
Standaard sorteergedrag
De sort()-methode converteert elementen standaard naar strings en vergelijkt deze in Unicode-volgorde. Daarom werkt het vanzelfsprekend voor strings, maar numerieke arrays kunnen onverwachte resultaten opleveren tenzij een vergelijkingsfunctie wordt opgegeven.
123const numbers = [1, 2, 10, 21]; numbers.sort(); console.log(numbers); // Output: 1, 10, 2, 21
Om getallen correct te sorteren, gebruik een vergelijkingsfunctie:
1234const numbers = [1, 2, 10, 21]; const ascending = [...numbers].sort((a, b) => a - b); console.log(ascending); // Output: 1, 2, 10, 21
Aangepaste Sorteervolgordes
Om sortering aan te passen aan specifieke behoeften, wordt een callbackfunctie gebruikt. Deze functie, vaak een vergelijkingsfunctie genoemd, bepaalt de sorteervolgorde. Hier volgt een verkenning van aangepaste sortering voor zowel getallen als strings. Basis syntaxis:
array.sort((a, b) => {
// Callback body
});
awordt beschouwd als het eerste element;bwordt beschouwd als het tweede element.
Getallen sorteren
In dit geval bepaalt de vergelijkingsfunctie de oplopende en aflopende volgorde op basis van de relatie tussen elementen a en 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
Strings sorteren
De methode localeCompare() maakt alfabetisch sorteren mogelijk, met opties voor zowel oplopende als aflopende volgorde.
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. Wat is een belangrijk kenmerk van de sort()-methode?
2. Hoe behandelt de sort()-methode standaard elementen tijdens het sorteren?
3. Wat zal de uitvoer zijn in het onderstaande voorbeeld?
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Geweldig!
Completion tarief verbeterd naar 2.27
Arrays Sorteren met de sort()-Methode
Veeg om het menu te tonen
sort()
De sort()-methode herschikt de elementen van een array op hun plaats en retourneert de bijgewerkte array. Standaard werkt sorteren goed voor strings, maar kan het onverwacht gedrag vertonen bij getallen.
Standaard sorteergedrag
De sort()-methode converteert elementen standaard naar strings en vergelijkt deze in Unicode-volgorde. Daarom werkt het vanzelfsprekend voor strings, maar numerieke arrays kunnen onverwachte resultaten opleveren tenzij een vergelijkingsfunctie wordt opgegeven.
123const numbers = [1, 2, 10, 21]; numbers.sort(); console.log(numbers); // Output: 1, 10, 2, 21
Om getallen correct te sorteren, gebruik een vergelijkingsfunctie:
1234const numbers = [1, 2, 10, 21]; const ascending = [...numbers].sort((a, b) => a - b); console.log(ascending); // Output: 1, 2, 10, 21
Aangepaste Sorteervolgordes
Om sortering aan te passen aan specifieke behoeften, wordt een callbackfunctie gebruikt. Deze functie, vaak een vergelijkingsfunctie genoemd, bepaalt de sorteervolgorde. Hier volgt een verkenning van aangepaste sortering voor zowel getallen als strings. Basis syntaxis:
array.sort((a, b) => {
// Callback body
});
awordt beschouwd als het eerste element;bwordt beschouwd als het tweede element.
Getallen sorteren
In dit geval bepaalt de vergelijkingsfunctie de oplopende en aflopende volgorde op basis van de relatie tussen elementen a en 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
Strings sorteren
De methode localeCompare() maakt alfabetisch sorteren mogelijk, met opties voor zowel oplopende als aflopende volgorde.
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. Wat is een belangrijk kenmerk van de sort()-methode?
2. Hoe behandelt de sort()-methode standaard elementen tijdens het sorteren?
3. Wat zal de uitvoer zijn in het onderstaande voorbeeld?
Bedankt voor je feedback!