110 of 264 menu

Metodas sort

Metodas sort atlieka masyvo rūšiavimą leksikografine tvarka ir grąžina jau pakeistą masyvą. Kaip neprivalomą parametrą galima nurodyti savo funkciją rūšiavimui.

Sintaksė

masyvas.sort([funkcija]);

Pavyzdys

Surūšiuokime masyvą:

let arr = ['d', 'b', 'a', 'c']; console.log(arr.sort());

Kodo vykdymo rezultatas:

['a', 'b', 'c', 'd']

Pavyzdys

Surūšiuokime masyvą su skaičiais:

let arr = [4, 1, 7, 2]; console.log(arr.sort());

Kodo vykdymo rezultatas:

[1, 2, 4, 7]

Pavyzdys

Pridėkime į masyvą skaičius ir surūšiuokime jį:

let arr = [1, 123, 2, 4, 111, 7]; console.log(arr.sort());

Kodo vykdymo rezultate pamatysime, kad skaičiai išsidėstę ne didėjimo tvarka, o leksikografine tvarka, t.y. skaičiai tarpusavyje lyginami kaip eilutės. Tuo pačiu lyginama pagal kiekvieną simbolį, ar pirmojo simbolio kodas didesnis nei kaimyninio ir t.t. Rezultatas:

[1, 111, 123, 2, 4, 7]

Pavyzdys

Dabar surūšiuokime masyvą naudodami funkciją, kurioje aprašysime sąlygą - jei pirmasis parametras didesnis už antrąjį, tai jį perstatome (tam return bet koks teigiamas skaičius). Atvirkščiu atveju perstatymas nereikalingas ir mes nurodome 0 arba bet kurį neigiamą skaičių:

let arr = [1, 123, 2, 4, 111, 7]; arr.sort(function(a, b) { if (a > b) { return 1; } else { return -1; } }); console.log(arr);

Kodo vykdymo rezultatas:

[1, 2, 4, 7, 111, 123]

Pavyzdys

Patogumui sutrumpinkime kodą mūsų funkcijoje iš ankstesnio pavyzdžio:

let arr = [1, 123, 2, 4, 111, 7]; arr.sort(function(a, b) { return a - b; }); console.log(arr);

Kodo vykdymo rezultatas:

[1, 2, 4, 7, 111, 123]

Pavyzdys

O dabar naudodami funkciją surūšiuokime masyvą mažėjimo tvarka:

let arr = [1, 123, 2, 4, 111, 7]; arr.sort(function(a, b) { return b - a; }); console.log(arr);

Kodo vykdymo rezultatas:

[123, 111, 7, 4, 2, 1]

Pavyzdys

Surūšiuokime objektų masyvą pagal raktą 'one' didėjimo tvarka:

let arr = [ {one: 1, two: 2}, {one: 7, two: 1}, {one: 3, two: 3} ]; arr.sort(function(a, b) { return a.one - b.one; }); console.log(arr);

Kodo vykdymo rezultatas:

[ {one: 1, two: 2}, {one: 3, two: 3}, {one: 7, two: 1} ]

Pavyzdys

O dabar surūšiuokime objektų masyvą pagal raktą 'two':

let arr = [ {one: 1, two: 2}, {one: 7, two: 1}, {one: 3, two: 3} ]; arr.sort(function(a, b) { return a.two - b.two; }); console.log(arr);

Kodo vykdymo rezultatas:

[ {one: 7, two: 1}, {one: 1, two: 2}, {one: 3, two: 3} ]

Pavyzdys

Patikrinkime, ar pasikeitė masyvas po metodo sort taikymo:

let arr = ['b', 'a', 'd', 'c']; let res = arr.sort(); console.log(arr);

Kodo vykdymo rezultatas:

['a', 'b', 'c', 'd']

Taip pat žiūrėkite

  • metodas filter,
    kuris leidžia filtruoti masyvo elementus
Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti