„JavaScript“ masyvo rūšiavimo () metodas

The sort()> metodas „JavaScript“ sutvarko masyvo elementus į vietą ir grąžina surūšiuotą masyvą. Pagal numatytuosius nustatymus jis rūšiuoja elementus abėcėlės tvarka, laikydamas juos eilutėmis.

Tačiau norėdami rūšiuoti pagal skaičių, galite pateikti pasirinktinę palyginimo funkciją. Ši funkcija diktuoja rūšiavimo kriterijus, leidžiančius tiksliai valdyti rūšiavimo procesą. „sort()“ padidina „JavaScript“ programų efektyvumą ir funkcionalumą, leisdama profesionaliai ir formaliai tvarkyti masyvo elementus pagal konkrečius reikalavimus.

Sintaksė

arr.sort(compareFunction); 

Parametrai

  • array> : masyvas, kurį reikia rūšiuoti.
  • compareFunction> (Pasirenkama): funkcija, apibrėžianti rūšiavimo tvarką. Jei praleista, masyvo elementai rūšiuojami pagal jų eilutę Unikodo kodo taškais.

Grąžinimo vertė

Šis metodas grąžina surūšiuoto pradinio masyvo nuorodą.

Pavyzdžiai:

1 pavyzdys: Eilučių masyvo rūšiavimas

Šiame pavyzdyje parodytas funkcijos sort() naudojimas.

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

Išvestis
[ 'Geeks', 'for', 'Geeks' ] [ 'Geeks', 'Geeks', 'for' ] 

Paaiškinimas:

The sort()> metodas pertvarko elementus arr> masyvas abėcėlės tvarka, sudarydamas išvestį ['Geeks', 'Geeks', 'for']> .

2 pavyzdys: Skaičių masyvo rūšiavimas be palyginimo funkcijos

Čia, Rūšiuoti () metodas išdėsto masyvo elementus didėjančia tvarka.

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

Išvestis
[ 1, 2, 4, 5, 8 ] 

Paaiškinimas:

The sort()> metodas iškviečiamas skaičių masyve [2, 5, 8, 1, 4]> . The sort()> metodas surūšiuos elementus abėcėlės tvarka, nes nepateikiama palyginimo funkcija. Todėl produkcija bus [1, 2, 4, 5, 8]> , kuris surūšiuotas abėcėlės tvarka pagal skaičių eilučių atvaizdus.

3 pavyzdys: Skaitmeninės reikšmės rūšiavimas be palyginimo funkcijos

Čia mes rūšiuojame skaitines vertes be palyginimo funkcijos

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

Išvestis
[ -120, 0, 100, 20, 30, 5.2 ] 

Paaiškinimas:

Kai naudojate sort()> metodas be palyginimo funkcijos, „JavaScript“ pagal numatytuosius nustatymus rūšiuoja masyvo elementus kaip eilutes, o tai ne visada gali duoti laukiamus skaitmeninių masyvų rezultatus. Išskaidykime rūšiavimo procesą:

  • JavaScript konvertuoja kiekvieną masyvo elementą į eilutę.
  • Tada jis palygina kiekvieno eilutės simbolio UTF-16 kodo vienetus ir surūšiuoja juos pagal Unicode kodo taško reikšmę.

Štai kas nutinka jūsų masyvei:

  • Skaičiai konvertuojami į eilutes: ['20', '5.2', '-120', '100', '30', '0']> .
  • Surūšiavus abėcėlės tvarka, -120> pirmas, nes -> turi mažesnę Unikodo kodo taško reikšmę nei skaitmenys ( 0> į 9> ). Tada ateina 0> , po kurio seka 100> , 20> , 30> , ir 5.2> .

4 pavyzdys: Skaitinių reikšmių rūšiavimas naudojant palyginimo funkciją

Netikėtą klaidą, įvykusią aukščiau pateiktame pavyzdyje, galime išspręsti naudodami skaitiniams skaitiniams skirtą sort() metodą, naudodami šią palyginimo funkciją.

Javascript
let numbers = [20, 5.2, -120, 100, 30, 0]; /* Logic:   20 - (5.2) = +ve =>5.2 būtų dedamas prieš 20, 20 - (-120) = +ve => -120 būtų prieš 20, 20 - (100) = -ve => 100 būtų dedamas po 20, 20 - (30) = - ve => 30 būtų dedamas po 20, 20 - (0) = +ve => 0 būtų dedamas prieš 20, Panašiai kiekvienam elementui patikriname ir atitinkamai išdėstome iteracijose. */ function palyginti(a, b) { return a - b; } console.log(skaičiai.rūšiuoti(palyginti));>>   
Išvestis Paaiškinimas:

  • The compare> funkcija atima b> a> . Jei rezultatas neigiamas, a> ateina anksčiau b> surūšiuotame masyve; jei teigiamas, b> ateina anksčiau a> ; jei nulis, jų santykinė tvarka lieka nepakitusi.
  • Pateikdami šią tinkintą palyginimo funkciją sort()> metodas, JavaScript surūšiuoja masyvą numbers> remiantis jo elementų skaitinėmis reikšmėmis.

Prašome pereiti tai Kaip rūšiuoti skaičių masyvą naudojant „JavaScript“? , norėdami sužinoti, kaip veikia JavaScript masyvo rūšiavimo funkcija

Turime visą „Javascript Array“ metodų sąrašą. Norėdami juos patikrinti, atlikite tai „Javascript Array“ visa nuoroda straipsnis.

Palaikomos naršyklės:

  • Google Chrome
  • Kraštas
  • Internet Explorer
  • Firefox
  • Opera
  • Safari