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
Javascript Datastructuren

bookArrays Sorteren met de sort()-Methode

Dit hoofdstuk behandelt de complexiteit van de sort()-methode, inclusief de syntaxis, standaardgedrag en aangepaste sorteertechnieken.

sort()

De sort()-methode wijzigt de oorspronkelijke array en voorziet deze van een nieuwe volgorde.

Belangrijke kenmerken om te onthouden:

  • De oorspronkelijke array wordt aangepast, waarbij de elementen een nieuwe volgorde krijgen;
  • De methode retourneert een gewijzigde array, waardoor verdere verkenning mogelijk is;
  • Standaard rangschikt de sort()-methode elementen in oplopende volgorde.

Standaard Sorteergedrag

Standaard sorteren verloopt moeiteloos 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 eenvoudig lijkt. Echter, nuances worden duidelijk 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 het sorteren aan specifieke behoeften aan te passen, wordt een callbackfunctie gebruikt. Deze functie, vaak een vergelijkingsfunctie genoemd, bepaalt de sorteervolgorde. Hier volgt een verkenning van aangepast sorteren voor zowel getallen als strings. Basis syntax:

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() maakt alfabetisch sorteren mogelijk, met opties 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 sort()-methode?

2. Hoe behandelt de sort()-methode standaard elementen tijdens het sorteren?

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

question mark

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

Select the correct answer

question mark

Hoe behandelt de sort()-methode standaard elementen tijdens het sorteren?

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 do I use a custom compare function for more complex sorting?

Can you show more examples of sorting arrays with objects?

Awesome!

Completion rate improved to 2.27

bookArrays Sorteren met de sort()-Methode

Veeg om het menu te tonen

Dit hoofdstuk behandelt de complexiteit van de sort()-methode, inclusief de syntaxis, standaardgedrag en aangepaste sorteertechnieken.

sort()

De sort()-methode wijzigt de oorspronkelijke array en voorziet deze van een nieuwe volgorde.

Belangrijke kenmerken om te onthouden:

  • De oorspronkelijke array wordt aangepast, waarbij de elementen een nieuwe volgorde krijgen;
  • De methode retourneert een gewijzigde array, waardoor verdere verkenning mogelijk is;
  • Standaard rangschikt de sort()-methode elementen in oplopende volgorde.

Standaard Sorteergedrag

Standaard sorteren verloopt moeiteloos 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 eenvoudig lijkt. Echter, nuances worden duidelijk 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 het sorteren aan specifieke behoeften aan te passen, wordt een callbackfunctie gebruikt. Deze functie, vaak een vergelijkingsfunctie genoemd, bepaalt de sorteervolgorde. Hier volgt een verkenning van aangepast sorteren voor zowel getallen als strings. Basis syntax:

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() maakt alfabetisch sorteren mogelijk, met opties 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 sort()-methode?

2. Hoe behandelt de sort()-methode standaard elementen tijdens het sorteren?

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

question mark

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

Select the correct answer

question mark

Hoe behandelt de sort()-methode standaard elementen tijdens het sorteren?

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