logo

JavaScript Array sort() Metod

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 java
JavaScript
// 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:

  • Decompare>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 tillsort()>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