De sort()> metod i JavaScript ordnar elementen i en array på plats och returnerar den sorterade arrayen. Som standard sorterar den element alfabetiskt och behandlar dem som strängar.
Men för numerisk sortering kan du tillhandahålla en anpassad jämförelsefunktion. Denna funktion dikterar sorteringskriterierna, vilket möjliggör exakt kontroll över sorteringsprocessen. `sort()` förbättrar effektiviteten och funktionaliteten hos JavaScript-applikationer genom att göra det möjligt för dig att organisera arrayelement enligt specifika krav på ett professionellt och formellt sätt.
Syntax
arr.sort(compareFunction);>
Parametrar
array>: Matrisen som ska sorteras.compareFunction>(Valfritt): En funktion som definierar sorteringsordningen. Om de utelämnas sorteras arrayelementen baserat på deras sträng Unicode-kodpunkter.
Returvärde
Denna metod returnerar referensen för den sorterade originalmatrisen.
sort array lista java
Exempel:
Exempel 1: Sortera en rad strängar
Det här exemplet visar användningen av sort()-funktionen.
JavaScript
// JavaScript to illustrate sort() function function func() { // Original string let arr = ['Geeks', 'for', 'Geeks'] console.log(arr); // Sorting the array console.log(arr.sort()); } func();> Produktion
[ 'Geeks', 'for', 'Geeks' ] [ 'Geeks', 'Geeks', 'for' ]>
Förklaring:
Desort()>metoden ordnar om elementen iarr>array alfabetiskt, producerar utdata['Geeks', 'Geeks', 'for']>.
Exempel 2: Sortera en matris med tal utan jämförelsefunktion
Här, den sortera() metoden arrangerar elementen i arrayen i stigande ordning.
list.sort javaJavaScript
// JavaScript to illustrate sort() function function func() { //Original string let arr = [2, 5, 8, 1, 4] //Sorting the array console.log(arr.sort()); } func();> Produktion
[ 1, 2, 4, 5, 8 ]>
Förklaring:
Desort()>metoden anropas på en array av tal[2, 5, 8, 1, 4]>. Desort()>kommer att sortera elementen alfabetiskt eftersom ingen jämförelsefunktion tillhandahålls. Därför blir utgången[1, 2, 4, 5, 8]>, som sorteras alfabetiskt baserat på strängrepresentationer av talen.
gör medan du är i java
Exempel 3: Sortering av numeriskt värde utan jämförelsefunktion
Här sorterar vi numeriskt värde utan jämförelsefunktion
Javascript let numbers = [20, 5.2, -120, 100, 30, 0] console.log(numbers.sort())>
Produktion
[ -120, 0, 100, 20, 30, 5.2 ]>
Förklaring:
När du användersort()>utan en jämförelsefunktion, sorterar JavaScript arrayelement som strängar som standard, vilket kanske inte alltid ger de förväntade resultaten för numeriska arrayer. Låt oss bryta ner sorteringsprocessen:
- JavaScript konverterar varje element i arrayen till en sträng.
- Den jämför sedan UTF-16-kodenheterna för varje tecken i strängarna och sorterar dem baserat på Unicode-kodpunktsvärdet.
Så här händer med din array:
- Siffrorna konverteras till strängar:
['20', '5.2', '-120', '100', '30', '0']>. - När sorterad alfabetiskt,
-120>kommer först eftersom->har ett lägre Unicode-kodpunktvärde än siffror (0>till9>). Sedan kommer0>, följd av100>,20>,30>, och5.2>.
Exempel 4: Sortering av numeriskt värde med jämförelsefunktion
kvartal i verksamheten
Vi kan lösa det oväntade felet som inträffade i exemplet ovan genom att använda sort()-metoden för numeriska med hjälp av följande jämförelsefunktion.
Javascript let numbers = [20, 5.2, -120, 100, 30, 0]; /* Logic: 20 - (5.2) = +ve =>5.2 skulle placeras före 20, 20 - (-120) = +ve => -120 skulle placeras före 20, 20 - (100) = -ve => 100 skulle placeras efter 20, 20 - (30) = - ve => 30 skulle placeras efter 20, 20 - (0) = +ve => 0 skulle placeras före 20. På samma sätt kontrollerar vi och placerar dem i iterationer för varje element. */ function compare(a, b) { return a - b; } console.log(numbers.sort(compare));> Produktion
[ -120, 0, 5.2, 20, 30, 100 ]>
Förklaring:
- De
compare>funktion subtraherarb>fråna>. Om resultatet är negativt,a>kommer föreb>i den sorterade arrayen; om det är positivt,b>kommer förea>; om noll förblir deras relativa ordning oförändrad. - Genom att tillhandahålla denna anpassade jämförelsefunktion till
sort()>metoden, sorterar JavaScript arrayennumbers>baserat på de numeriska värdena för dess element.
Gå igenom detta Hur sorterar man numerisk matris med JavaScript? , för att veta hur javascript array-sorteringsfunktionen fungerar
Vi har en komplett lista med Javascript Array-metoder, gå igenom detta för att kontrollera dem Javascript Array Komplett referens artikel.
Webbläsare som stöds:
- Google Chrome
- Kant
- Internet Explorer
- Firefox
- Opera
- Safari