De sorteermethode wordt gebruikt om verschillende elementen in een array in een specifieke volgorde te rangschikken.
Syntaxis
De algemene syntaxis voor de sorteermethode is:
reeks.soort();Deze methode retourneert de gesorteerde array standaard in oplopende volgorde.
We zouden een aantal voorbeelden bespreken om de sorteermethode in JavaScript te begrijpen.
Voorbeelden
We veronderstellen een reeks strings waarin we een aantal verschillende namen van Linux-besturingssystemen hebben.
let arr = ["Ubuntu", "Fedora", "CentOS", "Debian", "Kali Linux"]Als we nu de sorteermethode toepassen op deze array:
arr.soort();Het zal de array zeker in alfabetische volgorde sorteren. We kunnen de uitvoer zien in de onderstaande schermafbeelding:.
Maar als we de string in omgekeerde/aflopende volgorde willen krijgen. We kunnen de ingebouwde reverse-functie van een Javascript op de gesorteerde array als volgt toepassen:
var gesorteerdArray = arr.soort();gesorteerdArray.omgekeerde();
De kortere manier om het omgekeerde te doen is:
arr.soort().omgekeerde();Oke! Het werkte prima voor de string. Laten we proberen of het ook voor de cijfers werkt.
We veronderstellen dus eerst een reeks getallen.
Pas vervolgens de sorteermethode toe op de reeks getallen.
arr.soort();Het lijkt erop dat het niet zo goed werkte als voor de string. Omdat de sorteermethode eerst de getallen omzet in de tekenreeksen en vervolgens sorteert op basis van Unicode. Hoewel "8" in numerieke volgorde vóór "14" komt. Maar in de volgorde van UTF-16-code-eenheden komt "14" voor "8". Het goede ding in Javascript, we hebben hier de oplossing voor.
Vergelijkfunctie
Hier komt het concept van de vergelijkingsfunctie die van pas komt bij het sorteren van de getallen. We kunnen een vergelijkingsfunctie met de sorteermethode gebruiken als een callback-functie, waarvoor twee elementen nodig zijn:. Het sorteert ze vervolgens volgens onze vereisten in de vergelijkingsfunctie en retourneert ze naar de sorteermethode, waarbij dit continu wordt gedaan totdat het het einde van de array bereikt.
De syntaxis voor de sorteermethode met de CompareFunction zou als volgt zijn:
reeks.sorteren (vergelijk Functie);Als we nu kijken naar de technische details van de vergelijkfunctie, zo werkt het eigenlijk actually. Als we geen vergelijkingsfunctie voor de sorteermethode bieden, wordt gesorteerd volgens de UTF-16-code-eenheidsorders. Als we de CompareFunction gebruiken, worden alle elementen gesorteerd in overeenstemming met de geretourneerde waarde van CompareFunction. Dus, als we een vergelijkingsfunctie voor de getallen willen schrijven. Dat zou precies zo zijn:
functie (a, b) retourneer a - bCompareFunction neemt twee waarden tegelijk en retourneert drie soorten waarden.
Waar of "1", als de eerste waarde vóór de tweede waarde komt of de eerste waarde groter is dan de tweede waarde:
False of "-1", als de eerste waarde na de tweede waarde komt of de eerste waarde groter is dan de tweede waarde.
En "0", als twee waarden gelijk zijn.
Als we het nu proberen toe te passen om de reeks getallen te sorteren. We kunnen het als volgt toepassen:
arr.sort(functie (a ,b) return a - b )Zoals je kunt zien in de uitvoer, zijn de arrays met nummers netjes gesorteerd.
De kortere manier om dezelfde taak uit te voeren, is als volgt:
arr.sorteren((a, b) => a - b)Maar dit werkt alleen voor de vergelijking van de getallen.
We kunnen ook de sorteermethode gebruiken om de reeks objecten te sorteren, afhankelijk van de waarden van het object, waarmee we de reeks objecten willen sorteren. Als we veronderstellen dat we op basis van het aantal gebruikers een array van objecten willen sorteren waarin elk object de Linux-besturingssystemen en het aantal gebruikers ervan bevat, dan gebruiken we het volgende:
arr = [naam:"Ubuntu", gebruikers:3000
name:"Fedora", gebruikers:1500
naam:"CentOS", gebruikers:2000
naam:"Debian", gebruikers:5000
naam:"Kali Linux", gebruikers:4000
]
Dus, om te sorteren op basis van gebruikers. De sorteerfunctie ziet er als volgt uit:
arr.sort(() => retourneer a.gebruikers - b.gebruikers )Dit zijn dus de verschillende manieren om de sorteermethode te gebruiken om de arrays van elk type te sorteren.
Conclusie
In dit artikel hebben we geleerd hoe we een reeks verschillende typen kunnen sorteren met behulp van de ingebouwde sorteerfunctie van Javascript. Dit artikel legt het concept van de sorteerfunctie uit van beginner tot gemiddeld niveau op een zeer gemakkelijke, diepgaande en effectieve manier. Dus blijf leren, werken en ervaring opdoen in Javascript met linuxhint.com om er meer grip op te krijgen. Heel erg bedankt.