De sorteringsmetod används för att ordna olika element i en array i en specifik ordning.
Syntax
Den allmänna syntaxen för sorteringsmetoden är:
array.sortera();Den här metoden returnerar den sorterade matrisen i stigande ordning som standard.
Vi diskuterar ett par exempel för att förstå sorteringsmetoden i JavaScript.
Exempel
Vi antar att en rad strängar där vi har olika namn på Linux-operativsystem.
låt arr = ["Ubuntu", "Fedora", "CentOS", "Debian", "Kali Linux"]Om vi nu använder sorteringsmetoden över den här matrisen:
arr.sortera();Det kommer definitivt att sortera matrisen i alfabetisk ordning. Vi kan se utdata i skärmdumpen nedan.
Men om vi vill få strängen i omvänd / fallande ordning. Vi kan tillämpa ett Javaskripts inbyggda omvända funktion över den sorterade matrisen så här:
var sortedArray = arr.sortera();sortedArray.omvänd();
Det kortare sättet att göra omvänd är:
arr.sortera().omvänd();OK! Det fungerade bra för strängen. Låt oss försöka om det fungerar för siffrorna också.
Så vi antar först en rad siffror.
Tillämpa sedan sorteringsmetoden över numren.
arr.sortera();Det verkar som om det inte fungerade bra som för strängen. Eftersom sorteringsmetoden först omvandlar siffrorna till strängarna och sedan sorterar på basen av Unicode. Även om "8" kommer före "14" i numerisk ordning. Men i UTF-16-kodenheternas ordning kommer "14" före "8". Det bra i Javascript, vi fick lösningen på detta.
Jämför funktion
Här kommer begreppet jämförfunktion som är till nytta för att hjälpa till att sortera siffrorna. Vi kan använda en jämförelsesfunktion med sorteringsmetoden som en återuppringningsfunktion, som tar två element. Den sorterar dem sedan enligt vårt krav i jämförelsesfunktionen och returnerar dem till sorteringsmetoden, kontinuerligt gör detta tills det når slutet av matrisen.
Syntaxen för sorteringsmetoden med jämförFunktionen skulle vara så här:
array.sortera (jämförFunktion);Om vi nu tittar på de tekniska detaljerna i jämförFunktionen, så fungerar det faktiskt. Om vi inte tillhandahåller en jämförelsefunktion med sorteringsmetoden sorteras den enligt UTF-16-kodenhetsbeställningarna. Om vi använder jämförelfunktionen sorteras alla element i enlighet med returvärdet för jämförelsefunktionen. Så om vi vill skriva en jämförelsesfunktion för siffrorna. Det skulle vara precis så här:
funktion (a, b) return a - bCompareFunction tar två värden åt gången och returnerar tre typer av värden.
Sant eller “1”, om det första värdet kommer före det andra värdet eller det första värdet är större än det andra värdet:
Falskt eller “-1”, om det första värdet kommer efter det andra värdet eller det första värdet är större än det andra värdet.
Och ”0”, om två värden är lika.
Nu, om vi försöker använda den för att sortera numrerarna. Vi kan tillämpa det så här:
arr.sortera (funktion (a, b) returnera a - b)Som du kan se i utdata har array med nummer sorterats ordentligt.
Det kortare sättet att göra samma uppgift kommer att vara så här:
arr.sortera ((a, b) => a - b)Men detta fungerar bara för jämförelse av siffrorna.
Vi kan också använda sorteringsmetoden för att sortera arrayen av objekt beroende på objektets värden, som vi vill sortera arrayen av objekt. Om vi antar att vi vill sortera en rad objekt på basen av antalet användare där varje objekt innehåller Linux-operativsystem och antalet användare, kommer vi att använda följande:
arr = [namn: "Ubuntu", användare: 3000
namn: "Fedora", användare: 1500
name: "CentOS", användare: 2000
name: "Debian", användare: 5000
namn: "Kali Linux", användare: 4000
]
Så för att sortera på basen av användare. Sorteringsfunktionen skulle vara så här:
arr.sort (() => returnera a.användare - b.användare)Så det här är de olika sätten att använda sorteringsmetoden för att sortera matriser av vilken typ som helst.
Slutsats
I den här artikeln har vi lärt oss hur vi kan sortera en rad olika typer med Javaskripts inbyggda sorteringsfunktion. Den här artikeln förklarar begreppet sorteringsfunktion från nybörjare till mellannivå på ett mycket enkelt, djupt och effektivt sätt. Så fortsätt lära dig, arbeta och få erfarenhet av Javascript med linuxhint.com att få bättre grepp om det. Tack så mycket.