Ohjelmointikurssi ei toimi kunnolla selaimessasi.
Ohjelmointikurssi ei valitettavasti toimi Internet Explorer -selailemella. Suosittelemme että teet kurssia joko uusimmalla Chromella tai uusimalla Firefoxilla.

Listat

Lista on objekti, joka voi sisältää useita useita eri objekteja. Tyhjä lista luodaan merkinnällä var lista = []. Listan sisällä voi olla muita objekteja. Merkintä var lista = [1, 2, 3, 4] luo uuden listan, jonka sisällä on numerot 1, 2, 3 ja 4. Listoihin voi laittaan kaikentyyppisiä objekteja, kuten vaikka sanoja. Koodi var lista = ["JavaScript", "Ohjelmointi"] luo listan, jonka sisällä on merkkjonot "JavaScript" ja "Ohjelmointi".

Listaan voi myös laittaa muiden objektien arvoja. Koodi:

var a = 1
var b = 3
var c = "kissa"
var lista = [a, b, c]

luo uuden taulukon, jonka sisältö on 1, 3 ja kissa. Voimme merkitä tälläistä listaa merkinnällä [1, 3, "kissa"].

Tehtävä:
Listaan sijoittaminen
Alla olevassa tehtäväpohjassa on luotu muuttujat numero ja sana. Lisäksi tehtäväpohjassa on alustettu tyhjä lista, joka tulostetaan. Aseta muuttujat listaan hauskaLista niin, että listan sisällöksi tulee: ["Papukaija", 22].

Listoihin ei tarvitse sijoittaa muuttujia. Voit myös kirjoittaa listan sisällön suoraan listan määrittelyn sisään.

var lista = [1, 3, "kissa"]
Tehtävä:
Listojen harjoittelua
Muuta alla olevaa tehtäväpohjaa siten, että muuttujan lista sisältö on [1, 2, "listat", "ovat", "hauskoja!"].
Tehtävä:
Uuden listan luonti
Tehtäväpohjassa yritetään tulostaa lista nimeltä uusiLista. Luo lista ja laita sen sisällöksi kolme valitsemaasi numeroa.
Tehtävä:
Usean listan luonti
Luo kaksi listaa: listassa ruuat listaat lempiruokasi ja listassa varit on lista lempiväreistäsi.

Listojen luonti sujuu melko näppärästi, mutta usein ohjelmoinnissa haluamme muokata listoja jotenkin. Olisi hyvä jos voisimme lisätä alkioita listaan, ottaa niitä pois ja niin edelleen.

Listan loppuun lisääminen

Olemassa olevan listan loppuun voidaan lisätä uusi alkio komennolla lista.push(lisättävä_alkio). Jos haluamme vaikka lisätä listaan numeron 3, se onnistuu koodilla: lista.push(3). Alla olevan koodin suorituksen jälkeen listan sisältö on [3, 7, 4]:

var lista = [3]
lista.push(7)
lista.push(4)
Tehtävä:
Listan loppuun lisääminen
Tehtävä: Alla olevassa tehtäväpohjassa on luotu lista, jonka sisältö on 4. Lisää listan loppuun alkioita niin, että listan sisällöksi tulee 4, 5, 6.
Tehtävä:
Vaiheittainen loppuun lisääminen
Tehtäväpohjassa on luotu lista numerot. Tehtävä on jaettu useampaan alueeseen. Lisää listaan alkioita kommenttejen perusteella.

Listan alkuun lisääminen

Nyt pystymme luomaan listoja ja lisäämään niiden loppuun alkioita. Valitettavasti kuitenkin tämä ei aina riitä. Tietyissä tilanteissa voitaisiin haluta lisätä alkioita listan alkuun. Javascriptissä on onneksi ratkaisu tähän ongelmaan. Koodi lista.unshift(lisättävä_alkio) tomii samalla tavalla kuin lista.push, mutta se lisää alkioita listan alkuun eikä loppuun. Alla oleva koodi luo listan, jonka sisältö on [9, 5, 1].

var lista = [1]
lista.unshift(5)
lista.unshift(9)
Tehtävä:
Listan alkuun lisääminen
Tehtävä: Alla olevassa tehtäväpohjassa on luotu lista, jonka sisältö on 4. Lisää listan alkuun alkioita niin, että listan sisällöksi tulee 2, 3, 4.
Tehtävä:
Vaiheittainen alkuun lisääminen
Tehtäväpohjassa on luotu lista numerot. Tehtävä on jaettu useampaan alueeseen. Lisää listaan alkioita kommenttejen perusteella.
Tehtävä:
Loppuun ja alkuun lisääminen
Tehtäväpohjassa on luotu lista numerot. Tehtävä on jaettu useampaan alueeseen. Lisää listaan alkioita kommenttejen perusteella.

Listasta poistaminen

Voimme myös haluta poistaa listasta alkioita. Kuten varmaan jo edellisistä tehtävistä arvasitkin, voimme poistaa alkioita joko listan alusta tai listan lopusta. Koodi lista.pop() poistaa elementin listan lopusta ja koodi lista.shift() poistaa listan ensimmäisen alkion.

Tehtävä:
Listasta poistaminen
Tehtävä: Poista listan alusta kaksi elementtiä ja lopusta yksi elementti. Mitä tulee tulokseksi?
Tehtävä:
Vaiheittainen poistaminen
Tehtäväpohjassa on luotu lista numerot. Poista listasta alkioita kommenttejen perusteella.

Listan pituus

Listan pituus on luku, joka kertoo montako asiaa lista sisältää. Esimerkiksi listan [1, 3, 4] pituus on 3. Kun lisäämme tai poistamme listasta alkioita listan pituus luonnollisesti muuttuu.

Ohjelmassa listan pituuden saa kirjoittamalla lista.length, missä lista on haluamamme lista. Tämän arvon voi esimerkiksi tulostaa, käytää laskutoimituksissa ja niin edelleen. Alla olevassa esimerkissä tulostetaan listan pituus joka on 4.

var eeppinenLista = [1, 3, 4, 5]
console.log(eeppinenLista.length)
Tehtävä:
Listan pituus
Tehtäväpohjassa on valmiina lista. Tulosta sen pituus materiaalissa opetetulla tavalla.
Odotettu vastaus: Ohjelma tulostaa listan pituuden, mikä on yksi numero. Esimerkiksi koko listan tulostaminen ei kelpaa.
Tehtävä:
Jalokivikokoelma
Joukko kavereita haluaa ostaa jalokivikokoelman. Kaikkien kavereiden nimet ovat talletettu listaan nimet. Jokaiselle listassa olevalle kaverille ostetaan kaikki listassa jalokivet olevat jalokivet. Tulosta kuinka paljon jalokiviä ostetaan yhteensä.
Odotettu vastaus: Ohjelma tulostaa ostettettavien jalokivien määrän, mikä on yksi numero.
Valmis?
Jatka seuraavaksi
funktioihin.