Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Arrays Sorteren Met de sort()-Methode | Geavanceerde Arraymethoden en Transformaties
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Javascript Datastructuren

bookArrays Sorteren Met de sort()-Methode

sort()

De sort()-methode herschikt elementen van een array op hun plaats en retourneert de bijgewerkte array. Standaard werkt sorteren goed voor strings, maar kan onverwacht gedrag vertonen bij getallen.

Standaard sorteergedrag

Standaard sorteren verloopt probleemloos voor arrays van strings, maar numerieke arrays kunnen uitdagingen opleveren. Laten we voorbeelden bekijken om dit gedrag te verduidelijken:

123
const numbers = [51, 12, 43, 24, 65, 36]; numbers.sort(); console.log(numbers); // Output: 12, 24, 36, 43, 51, 65
copy

In dit voorbeeld wordt de array met getallen in oplopende volgorde gesorteerd, wat op het eerste gezicht eenvoudig lijkt. Echter, nuances komen naar voren in de volgende illustratie:

123
const numbers = [34, 25, 19, 1, 92, 2, 3]; numbers.sort(); console.log(numbers); // Output: 1, 19, 2, 25, 3, 34, 92
copy

De sort()-methode behandelt elementen standaard als strings, wat tot onverwachte resultaten kan leiden. Zo wordt 19 vóór 2 gesorteerd en 25 vóór 3. De oplossing ligt in het aanpassen van het sorteerproces.

Aangepaste Sorteervolgordes

Om sortering aan specifieke behoeften aan te passen, wordt een callbackfunctie gebruikt. Deze functie, vaak een vergelijkingsfunctie genoemd, bepaalt de sorteervolgorde. Laten we aangepaste sorteringen voor zowel getallen als strings verkennen. Basis syntaxis:

array.sort((a, b) => {
  // Callback body
});
  • a wordt beschouwd als het eerste element;
  • b wordt beschouwd als het tweede element.

Getallen Sorteren

In dit geval bepaalt de vergelijkingsfunctie de oplopende en aflopende volgorde op basis van de relatie tussen de elementen a en b.

1234567
const 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
copy

Strings sorteren

De methode localeCompare() vergemakkelijkt alfabetische sortering, met mogelijkheden voor aanpassing voor zowel oplopende als aflopende volgorde.

1234567
const 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
copy

1. Wat is een belangrijk kenmerk van de methode sort()?

2. Hoe behandelt de standaard sorteermethode van de sort()-methode de elementen?

3. Wat zal de uitvoer zijn in het onderstaande voorbeeld?

question mark

Wat is een belangrijk kenmerk van de methode sort()?

Select the correct answer

question mark

Hoe behandelt de standaard sorteermethode van de sort()-methode de elementen?

Select the correct answer

question mark

Wat zal de uitvoer zijn in het onderstaande voorbeeld?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 5. Hoofdstuk 7

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Suggested prompts:

Can you explain why the default sort method treats numbers as strings?

How does the compare function work in the sort method?

Can you show more examples of custom sorting, like sorting objects?

bookArrays Sorteren Met de sort()-Methode

Veeg om het menu te tonen

sort()

De sort()-methode herschikt elementen van een array op hun plaats en retourneert de bijgewerkte array. Standaard werkt sorteren goed voor strings, maar kan onverwacht gedrag vertonen bij getallen.

Standaard sorteergedrag

Standaard sorteren verloopt probleemloos voor arrays van strings, maar numerieke arrays kunnen uitdagingen opleveren. Laten we voorbeelden bekijken om dit gedrag te verduidelijken:

123
const numbers = [51, 12, 43, 24, 65, 36]; numbers.sort(); console.log(numbers); // Output: 12, 24, 36, 43, 51, 65
copy

In dit voorbeeld wordt de array met getallen in oplopende volgorde gesorteerd, wat op het eerste gezicht eenvoudig lijkt. Echter, nuances komen naar voren in de volgende illustratie:

123
const numbers = [34, 25, 19, 1, 92, 2, 3]; numbers.sort(); console.log(numbers); // Output: 1, 19, 2, 25, 3, 34, 92
copy

De sort()-methode behandelt elementen standaard als strings, wat tot onverwachte resultaten kan leiden. Zo wordt 19 vóór 2 gesorteerd en 25 vóór 3. De oplossing ligt in het aanpassen van het sorteerproces.

Aangepaste Sorteervolgordes

Om sortering aan specifieke behoeften aan te passen, wordt een callbackfunctie gebruikt. Deze functie, vaak een vergelijkingsfunctie genoemd, bepaalt de sorteervolgorde. Laten we aangepaste sorteringen voor zowel getallen als strings verkennen. Basis syntaxis:

array.sort((a, b) => {
  // Callback body
});
  • a wordt beschouwd als het eerste element;
  • b wordt beschouwd als het tweede element.

Getallen Sorteren

In dit geval bepaalt de vergelijkingsfunctie de oplopende en aflopende volgorde op basis van de relatie tussen de elementen a en b.

1234567
const 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
copy

Strings sorteren

De methode localeCompare() vergemakkelijkt alfabetische sortering, met mogelijkheden voor aanpassing voor zowel oplopende als aflopende volgorde.

1234567
const 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
copy

1. Wat is een belangrijk kenmerk van de methode sort()?

2. Hoe behandelt de standaard sorteermethode van de sort()-methode de elementen?

3. Wat zal de uitvoer zijn in het onderstaande voorbeeld?

question mark

Wat is een belangrijk kenmerk van de methode sort()?

Select the correct answer

question mark

Hoe behandelt de standaard sorteermethode van de sort()-methode de elementen?

Select the correct answer

question mark

Wat zal de uitvoer zijn in het onderstaande voorbeeld?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 5. Hoofdstuk 7
some-alt