The sort()> metodi JavaScript sakārto masīva elementus vietā un atgriež sakārtoto masīvu. Pēc noklusējuma tas kārto elementus alfabētiskā secībā, apstrādājot tos kā virknes.
Tomēr skaitliskai šķirošanai varat nodrošināt pielāgotu salīdzināšanas funkciju. Šī funkcija nosaka šķirošanas kritērijus, ļaujot precīzi kontrolēt šķirošanas procesu. `sort()` uzlabo JavaScript lietojumprogrammu efektivitāti un funkcionalitāti, ļaujot profesionāli un formāli sakārtot masīva elementus atbilstoši īpašām prasībām.
Sintakse
arr.sort(compareFunction);>
Parametri
array>: kārtojamais masīvs.compareFunction>(Neobligāti): funkcija, kas nosaka kārtošanas secību. Ja tas ir izlaists, masīva elementi tiek sakārtoti, pamatojoties uz to virknes unikoda koda punktiem.
Atdeves vērtība
Šī metode atgriež kārtotā sākotnējā masīva atsauci.
konvertēt baitu masīvu par virkni
Piemēri:
1. piemērs: Virkņu masīva šķirošana
Šis piemērs parāda funkcijas sort() izmantošanu.
izlīdzināt css attēluJavaScript
// 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();> Izvade
[ 'Geeks', 'for', 'Geeks' ] [ 'Geeks', 'Geeks', 'for' ]>
Paskaidrojums:
Thesort()>metode pārkārto elementusarr>masīvs alfabētiskā secībā, veidojot izvadi['Geeks', 'Geeks', 'for']>.
2. piemērs: Skaitļu masīva kārtošana bez salīdzināšanas funkcijas
Lūk, kārtot () metode sakārto masīva elementus augošā secībā.
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();> Izvade
[ 1, 2, 4, 5, 8 ]>
Paskaidrojums:
Thesort()>metode tiek izsaukta uz skaitļu masīva[2, 5, 8, 1, 4]>. Thesort()>metode sakārtos elementus alfabētiskā secībā, jo nav nodrošināta salīdzināšanas funkcija. Tāpēc izlaide būs[1, 2, 4, 5, 8]>, kas ir sakārtots alfabētiskā secībā, pamatojoties uz skaitļu virkņu attēlojumu.
3. piemērs: Skaitlisko vērtību kārtošana bez salīdzināšanas funkcijas
Šeit mēs šķirojam skaitliskās vērtības bez salīdzināšanas funkcijas
Javascript let numbers = [20, 5.2, -120, 100, 30, 0] console.log(numbers.sort())>
Izvade
[ -120, 0, 100, 20, 30, 5.2 ]>
Paskaidrojums:
Salman Khan vecums
Kad jūs izmantojatsort()>metode bez salīdzināšanas funkcijas, JavaScript pēc noklusējuma kārto masīva elementus kā virknes, kas ne vienmēr var sniegt gaidītos rezultātus skaitliskiem masīviem. Sadalīsim šķirošanas procesu:
- JavaScript pārvērš katru masīva elementu par virkni.
- Pēc tam tas salīdzina katras virknes rakstzīmes UTF-16 koda vienības un sakārto tās, pamatojoties uz Unikoda koda punkta vērtību.
Lūk, kas notiek ar jūsu masīvu:
- Skaitļi tiek pārvērsti virknēs:
['20', '5.2', '-120', '100', '30', '0']>. - Sakārtojot alfabētiskā secībā,
-120>ir pirmajā vietā, jo->ir mazāka Unikoda koda punkta vērtība nekā cipariem (0>uz9>). Tad nāk0>, kam seko100>,20>,30>, un5.2>.
4. piemērs: Skaitlisko vērtību kārtošana ar salīdzināšanas funkciju
Mēs varam atrisināt neparedzēto kļūdu, kas radās iepriekš minētajā piemērā, izmantojot skaitļu metodi sort(), izmantojot šo salīdzināšanas funkciju.
Javascript let numbers = [20, 5.2, -120, 100, 30, 0]; /* Logic: 20 - (5.2) = +ve =>5.2 tiktu novietots pirms 20, 20 - (-120) = +ve => -120 tiktu novietots pirms 20, 20 - (100) = -ve => 100 tiktu novietots pēc 20, 20 - (30) = - ve => 30 tiktu novietoti pēc 20, 20 - (0) = +ve => 0 tiktu novietoti pirms 20, Līdzīgi katram elementam mēs tos pārbaudām un attiecīgi ievietojam iterācijās. */ funkcija salīdzināt(a, b) { return a - b; } console.log(numbers.sort(salīdzināt));>>
Izvade Paskaidrojums: - The
compare>funkcija atņemb>noa>. Ja rezultāts ir negatīvs,a>nāk pirmsb>sakārtotajā masīvā; ja pozitīvs,b>nāk pirmsa>; ja nulle, to relatīvā secība paliek nemainīga. - Nodrošinot šo pielāgoto salīdzināšanas funkciju
sort()>metodi, JavaScript sakārto masīvunumbers>pamatojoties uz tā elementu skaitliskām vērtībām.
Lūdzu, izejiet tam cauri Kā kārtot ciparu masīvu, izmantojot JavaScript? , lai uzzinātu, kā darbojas JavaScript masīva kārtošanas funkcija
xampp alternatīva
Mums ir pilns Javascript masīva metožu saraksts. Lai tās pārbaudītu, lūdzu, veiciet šo Javascript masīvs Pilnīga atsauce rakstu.
Atbalstītās pārlūkprogrammas:
- Google Chrome
- Mala
- Internet Explorer
- Firefox
- Opera
- Safari