110 of 264 menu

Metodi sort

Metodi sort suorittaa taulukon lajittelun leksikografisessa järjestyksessä ja palauttaa jo muutetun taulukon. Valinnaisena parametrina voidaan antaa oma funktio lajittelua varten.

Syntaksi

taulukko.sort([funktio]);

Esimerkki

Lajitellaan taulukko:

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

Koodin suorituksen tulos:

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

Esimerkki

Lajitellaan taulukko numeroilla:

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

Koodin suorituksen tulos:

[1, 2, 4, 7]

Esimerkki

Lisätään taulukkoon numeroita ja lajitellaan se:

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

Koodin suorituksen tuloksena näemme, että numerot eivät sijaitse nousevassa järjestyksessä, vaan leksikografisessa järjestyksessä, eli numerot verrataan keskenään merkkijonoina. Tässä vertailu tapahtuu jokaisen merkin perusteella, onko ensimmäisen merkin koodi suurempi kuin naapurimerkin koodi jne. Tulos:

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

Esimerkki

Lajitellaan nyt taulukko funktion avulla, jossa määritämme ehdon - jos ensimmäinen parametri on suurempi kuin toinen, niin se siirretään (tätä varten return-lauseessa mikä tahansa positiivinen luku). Päinvastaisessa tapauksessa siirtoa ei tarvita ja määritämme 0 tai minkä tahansa negatiivisen luvun:

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

Koodin suorituksen tulos:

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

Esimerkki

Lyhennetään mukavuuden vuoksi koodia edellisen esimerkin funktiossamme:

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

Koodin suorituksen tulos:

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

Esimerkki

Lajitellaan nyt funktion avulla taulukko laskevaan järjestykseen:

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

Koodin suorituksen tulos:

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

Esimerkki

Lajitellaan olioita sisältävä taulukko avaimen 'one' mukaan nousevaan järjestykseen:

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

Koodin suorituksen tulos:

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

Esimerkki

Lajitellaan nyt olioita sisältävä taulukko avaimen 'two' mukaan:

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

Koodin suorituksen tulos:

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

Esimerkki

Tarkistetaan, onko taulukko muuttunut metodin sort käytön jälkeen:

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

Koodin suorituksen tulos:

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

Katso myös

  • metodi filter,
    jolla voi suodattaa taulukon elementtejä
Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää