logo

JavaScript Array sort() -menetelmä

The sort()> menetelmä JavaScript järjestää taulukon elementit paikoilleen ja palauttaa lajitellun taulukon. Oletuksena se lajittelee elementit aakkosjärjestykseen ja käsittelee niitä merkkijonoina.

Numeerista lajittelua varten voit kuitenkin tarjota mukautetun vertailutoiminnon. Tämä toiminto sanelee lajittelukriteerit, mikä mahdollistaa lajitteluprosessin tarkan hallinnan. `sort()` parantaa JavaScript-sovellusten tehokkuutta ja toimivuutta mahdollistamalla taulukon elementtien järjestämisen erityisvaatimusten mukaisesti ammattimaisesti ja muodollisesti.



Syntaksi

arr.sort(compareFunction);>

Parametrit

  • array>: Lajiteltava taulukko.
  • compareFunction>(Valinnainen): Funktio, joka määrittää lajittelujärjestyksen. Jos jätetään pois, taulukon elementit lajitellaan niiden Unicode-koodipisteiden merkkijonon perusteella.

Palautusarvo



Tämä menetelmä palauttaa lajitellun alkuperäisen taulukon viitteen.

alimerkkijonomenetelmä javassa

Esimerkkejä:

Esimerkki 1: Merkkijonojen lajittelu

Tämä esimerkki näyttää sort()-funktion käytön.



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();>

Lähtö
[ 'Geeks', 'for', 'Geeks' ] [ 'Geeks', 'Geeks', 'for' ]>

Selitys:

Thesort()>menetelmä järjestää uudelleen elementitarr>matriisi aakkosjärjestyksessä, jolloin saadaan tulos['Geeks', 'Geeks', 'for']>.

vesileima sanassa

Esimerkki 2: Lukujoukon lajittelu ilman vertailutoimintoa

Tässä, järjestellä() menetelmä järjestää taulukon elementit nousevaan järjestykseen.

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();>

Lähtö
[ 1, 2, 4, 5, 8 ]>

Selitys:

Thesort()>menetelmää kutsutaan lukujoukolla[2, 5, 8, 1, 4]>. Thesort()>menetelmä lajittelee elementit aakkosjärjestykseen, koska vertailutoimintoa ei ole. Siksi tulos tulee olemaan[1, 2, 4, 5, 8]>, joka on lajiteltu aakkosjärjestykseen numeroiden merkkijonoesitysten perusteella.

hashmapin sisäinen toiminta

Esimerkki 3: Numeerisen arvon lajittelu ilman vertailutoimintoa

Tässä lajittelemme numeerisia arvoja ilman vertailutoimintoa

Javascript
let numbers = [20, 5.2, -120, 100, 30, 0] console.log(numbers.sort())>

Lähtö
[ -120, 0, 100, 20, 30, 5.2 ]>

Selitys:

Kun käytätsort()>-menetelmässä ilman vertailutoimintoa JavaScript lajittelee taulukon elementit oletuksena merkkijonoiksi, mikä ei välttämättä aina tuota odotettuja tuloksia numeerisille taulukoille. Puretaan lajitteluprosessi:

  • JavaScript muuntaa jokaisen taulukon elementin merkkijonoksi.
  • Sitten se vertaa merkkijonojen kunkin merkin UTF-16-koodiyksiköitä ja lajittelee ne Unicode-koodipistearvon perusteella.

Tässä on mitä taulukollesi tapahtuu:

  • Numerot muunnetaan merkkijonoiksi:['20', '5.2', '-120', '100', '30', '0']>.
  • Kun lajitellaan aakkosjärjestykseen,-120>tulee ensin, koska->on pienempi Unicode-koodipisteen arvo kuin numerot (0>to9>). Sitten tulee0>, jonka jälkeen100>,20>,30>, ja5.2>.

Esimerkki 4: Numeerisen arvon lajittelu vertailutoiminnolla

f-merkkijono python

Voimme ratkaista yllä olevassa esimerkissä ilmenneen odottamattoman virheen käyttämällä sort()-menetelmää numeerisille seuraavalla vertailufunktiolla.

Javascript
let numbers = [20, 5.2, -120, 100, 30, 0]; /* Logic:   20 - (5.2) = +ve =>5.2 sijoitetaan ennen 20, 20 - (-120) = +ve => -120 sijoitetaan ennen 20, 20 - (100) = -ve => 100 sijoitetaan 20, 20 - (30) = - ve => 30 sijoitettaisiin 20:n jälkeen, 20 - (0) = +ve => 0 sijoitettaisiin ennen 20:tä. Samoin jokaisen elementin kohdalla tarkistetaan ja sijoitetaan ne vastaavasti iteraatioihin. */ funktio vertaa(a, b) { return a - b; } konsoli.loki(numerot.lajitella(vertaa));>>  
Lähtö Selitys:

  • Thecompare>funktio vähentääb>alkaena>. Jos tulos on negatiivinen,a>tulee ennenb>lajitetussa taulukossa; jos positiivinen,b>tulee ennena>; jos nolla, niiden suhteellinen järjestys pysyy muuttumattomana.
  • Tarjoamalla tämän mukautetun vertailutoiminnonsort()>menetelmä, JavaScript lajittelee taulukonnumbers>sen elementtien numeeristen arvojen perusteella.

Ole hyvä ja käy tämä läpi Kuinka lajitella numeerinen taulukko JavaScriptin avulla? , jotta tiedät, kuinka javascript-taulukon lajittelutoiminto toimii

Meillä on täydellinen luettelo Javascript Array -menetelmistä. Tarkista ne käymällä läpi tämä Javascript Array Täydellinen viittaus artikla.

Tuetut selaimet:

  • Google Chrome
  • Reuna
  • Internet Explorer
  • Firefox
  • Ooppera
  • Safari