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.

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:

The sort()> metoda preureja elemente arr> matriko po abecedi, kar ustvari izhod ['Geeks', 'Geeks', 'for']> .

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:

The sort()> metoda se kliče na nizu števil [2, 5, 8, 1, 4]> . The sort()> 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.

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 uporabljate sort()> 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> do 9> ). Potem pride 0> , čemur sledi 100> , 20> , 30> , in 5.2> .

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

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:

  • The compare> funkcija odšteje b> od a> . Če je rezultat negativen, a> prihaja prej b> v razvrščenem nizu; če je pozitiven, b> prihaja prej a> ; če je nič, njihov relativni vrstni red ostane nespremenjen.
  • Z zagotavljanjem te primerjalne funkcije po meri za sort()> JavaScript razvrsti matriko numbers> 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