JavaScript

Javascript sorteren

Javascript sorteren
Omdat we arrays in bijna alle programmeertalen moeten beheren, is JavaScript niet anders. Arrays worden meestal gebruikt om gegevens zoals tekenreeksen, getallen, objecten en ongedefinieerd op te slaan. Met de exponentiële groei van online gegevens, moeten we de gegevens vaak beheren en sorteren. Sorteren is nogal een enorme ervaring in bijna elke programmeertaal. Het kost veel moeite, machinekracht en berekeningen om de juiste sortering te doen. Met de uitbreiding van gegevens moeten we de gegevens op een mooie manier sorteren en structureren. Javascript biedt een ingebouwde array-mutatormethode sort() voor het sorteren van arrays. In dit artikel zullen we de ingebouwde sort()-methode van Javascript bekijken en leren wat de Javascript-sorteermethode is en hoe we deze voor ons doel kunnen gebruiken om elementen in een array te sorteren. Laten we doorgaan en aan het werk gaan!

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.

laat arr = [14,8,33,27,6]

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 - b

CompareFunction 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.

Beste gameconsole-emulators voor Linux
Dit artikel bevat een lijst van populaire emulatiesoftware voor gameconsoles die beschikbaar is voor Linux. Emulatie is een softwarecompatibiliteitsla...
Beste Linux-distributies voor gaming in 2021
Het Linux-besturingssysteem heeft een lange weg afgelegd van zijn oorspronkelijke, eenvoudige, servergebaseerde uiterlijk. Dit besturingssysteem is de...
Hoe u uw gamesessie op Linux kunt vastleggen en streamen
In het verleden werd het spelen van games alleen als een hobby beschouwd, maar met de tijd zag de game-industrie een enorme groei in termen van techno...