Listat
Listat (tai taulukot) ovat yleinen ohjelmoinnin apuväline. Listaan voidaan tallentaan mitä tahansa tietoa tai
jopa toisia listoja. Yleensä ohjelmointikieli tarjoaa tehokkaat tavat hakea, järjestää ja muokata listoista.
Lista tehdään antamalla listan nimi kuten muuttujan ja sijoittamalla hakasulkeisiin listan alkiot pilkuilla erotettuna:
var minunLista = ["Matti", "Pekka", "Marja", "Tuija"];
Tässä listaan on tallennettu nimiä, mutta listan alkioina voisi olla lukuja tai muita muuttujatyyppejä.
Listan ensimmäinen alkio on aina indeksiltään 0 ja siihen viitataan listan nimellä ja laittamalla indeksinumero
hakasulkeisiin:
var ekaAlkio = minunLista[0];
Muut alkiot voidaan tulostaa vastaavasti viittaamalla niiden indeksiin:
Listojen käsittelyä
JavaScriptissä on paljon valmiita funktioita, joilla voidaan käsitellä listaa. Esimerkiksi
minunLista.push("Oskari");
lisää listan
minunLista loppuun nimen Oskari.
minunLista.pop();
poistaa listasta
minunLista viimeisen alkion.
Muita valmiiksi tarjottuja funktioita listan käsittelyyn ovat mm:
- join() - yhdistää listan alkiot merkkijonoksi
- join(",") - yhdistää listan alkiot ja laittaa alkioiden väliin lainausmerkkien sisällä olevat merkit
- length - palauttaa listan alkioiden määrän
- shift() - poistaa ensimmäisen alkion ja siirtää muut yhden 'alemmaksi'
- splice(i,1) - poistaa alkion indeksinumeroltaan i
- concat(tokaLista) - yhdistää listaan tokaLista -listan
- slice(i) - palautaa uutena listana alkiot alkaen indeksistä i
- slice(i,j) - palautaa uutena listana alkiot alkaen indeksistä i, päättyen indeksiin j-1
- sort() - järjestää listan aakkosjärjestykseen
- sort(function(a, b){return a - b}) - järjestää numeerisen listan järjestykseen
- reverse() - muuttaa listan järjestyksen päinvastaiseksi
Alla on näistä muutama esimerkki:
Tehtävä 1:
Tee ohjelma,
jossa on listassa luokkakavereidesi nimet. Lisäksi siinä pitää olla napit, jotka
tulostavat nimet, järjestävät nimet aakkosjärjestykseen, käänteiseen järjestykseen ja yksi nappi,
josta saa nimien määrän.
Tehtävä 2:
Tee ohjelma,
johon voit syöttää luokkakavereidesi nimet. Toisinsanoen siinä pitää olla nappi "Lisää nimi".
Lisäksi siinä pitää olla ensimmäisen tehtävän napit.
Tee vielä nappi, jolla kysytään nimeä, ja joka poistaa nimen listasta, jos nimi on listassa.