logo

Metoda JavaScript Array sort().

The sort()> metoda v JavaScriptu razporedi elemente matrike na svoje mesto in vrne razvrščeno matriko. Privzeto razvršča elemente po abecedi in jih obravnava kot nize.

Vendar pa lahko za številčno razvrščanje zagotovite primerjalno funkcijo po meri. Ta funkcija narekuje kriterije razvrščanja, kar omogoča natančen nadzor nad postopkom razvrščanja. `sort()` izboljšuje učinkovitost in funkcionalnost aplikacij JavaScript, tako da vam omogoča organiziranje elementov polja v skladu s posebnimi zahtevami na profesionalen in formalen način.



Sintaksa

arr.sort(compareFunction);>

Parametri

  • array>: Niz, ki ga želite razvrstiti.
  • compareFunction>(Izbirno): funkcija, ki definira vrstni red razvrščanja. Če je izpuščeno, so elementi matrike razvrščeni glede na njihove kodne točke niza Unicode.

Povratna vrednost



Ta metoda vrne referenco razvrščene izvirne matrike.

java branje datoteke csv

Primeri:

Primer 1: Razvrščanje matrike nizov

Ta primer prikazuje uporabo funkcije sort().



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

Izhod
[ 'Geeks', 'for', 'Geeks' ] [ 'Geeks', 'Geeks', 'for' ]>

Pojasnilo:

Thesort()>metoda preureja elementearr>matriko po abecedi, kar ustvari izhod['Geeks', 'Geeks', 'for']>.

java string to int

Primer 2: Razvrščanje niza števil brez primerjalne funkcije

Tukaj, razvrsti() metoda razporedi elemente matrike v naraščajočem vrstnem redu.

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

Izhod
[ 1, 2, 4, 5, 8 ]>

Pojasnilo:

Thesort()>metoda se kliče na nizu števil[2, 5, 8, 1, 4]>. Thesort()>bo razvrstila elemente po abecedi, ker ni na voljo primerjalne funkcije. Zato bo rezultat[1, 2, 4, 5, 8]>, ki je razvrščen po abecedi na podlagi nizovnih predstavitev števil.

armstrong številka

Primer 3: Razvrščanje številske vrednosti brez primerjalne funkcije

Tukaj razvrščamo številsko vrednost brez primerjalne funkcije

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

Izhod
[ -120, 0, 100, 20, 30, 5.2 ]>

Pojasnilo:

Ko uporabljatesort()>brez primerjalne funkcije, JavaScript privzeto razvrsti elemente polja kot nize, kar morda ne bo vedno prineslo pričakovanih rezultatov za številska polja. Razčlenimo postopek razvrščanja:

  • JavaScript pretvori vsak element matrike v niz.
  • Nato primerja kodne enote UTF-16 vsakega znaka v nizih in jih razvrsti glede na vrednost kodne točke Unicode.

Evo, kaj se zgodi z vašim nizom:

  • Številke se pretvorijo v nize:['20', '5.2', '-120', '100', '30', '0']>.
  • Ko so razvrščeni po abecedi,-120>je na prvem mestu, ker->ima nižjo vrednost kodne točke Unicode kot številke (0>do9>). Potem pride0>, čemur sledi100>,20>,30>, in5.2>.

Primer 4: Razvrščanje številske vrednosti s funkcijo primerjave

seznam pisav gimp

Nepričakovano napako, do katere je prišlo v zgornjem primeru, lahko odpravimo z uporabo metode sort() za številke z naslednjo primerjalno funkcijo.

Javascript
let numbers = [20, 5.2, -120, 100, 30, 0]; /* Logic:   20 - (5.2) = +ve =>5.2 bi bil postavljen pred 20, 20 - (-120) = +ve => -120 bi bil postavljen pred 20, 20 - (100) = -ve => 100 bi bil postavljen za 20, 20 - (30) = - ve => 30 bi bilo postavljeno za 20, 20 - (0) = +ve => 0 bi bilo postavljeno pred 20, Podobno za vsak element preverimo in ga ustrezno postavimo v iteracijah. */ funkcija primerjava(a, b) { return a - b; } console.log(numbers.sort(compare));>

Izhod
[ -120, 0, 5.2, 20, 30, 100 ]>

Pojasnilo:

  • Thecompare>funkcija odštejeb>oda>. Če je rezultat negativen,a>prihaja prejb>v razvrščenem nizu; če je pozitiven,b>prihaja preja>; če je nič, njihov relativni vrstni red ostane nespremenjen.
  • Z zagotavljanjem te primerjalne funkcije po meri zasort()>JavaScript razvrsti matrikonumbers>na podlagi številčnih vrednosti njegovih elementov.

Prosim, pojdite skozi to Kako razvrstiti številsko matriko s pomočjo JavaScripta? , če želite izvedeti, kako deluje funkcija razvrščanja nizov JavaScript

Imamo popoln seznam metod Javascript Array, če jih želite preveriti, pojdite skozi to Javascript Array Popolna referenca Članek.

Podprti brskalniki:

  • Google Chrome
  • Edge
  • internet Explorer
  • Firefox
  • Opera
  • Safari