Lister

Lister eller arrays er veldig sentrale i mange programmeringsspråk, og brukes når man skal lagre informasjon som hører naturlig sammen. For å forstå hvordan lister fungerer i programmering kan vi tenke oss en tabell med informasjon. I tillegg til informasjonen i tabellen, må vi også vite noe om hvilken linje vi finner innholdet vi ønsker å se på. Når vi kan nå forskjellige verdier i en liste kalles dette en indeksert variabel.

Tabellen under er en enkel oversikt over noen realfag som undervises i videregående skole. Hvert fag ligger på en egen linje med linjernummer. Legg merke til at første linje har nummeret 0.

 

IndeksVerdi
0Informasjonsteknologi 2
1Matematikk R2
2Fysikk 2
3Kjemi 2
4Biologi 2

I programeksempelet under deklareres det en liste som tilsvarer tabellen. Dette gjøres på tre forskjellige måter, men resultatet er den samme lista.

Traversering av lister

Å traversere en liste betyr at man går igjennom alle elementene i listen. Dette gjøres vanligvis med en løkke. I eksempelet under så traverserer vi listen "mineFag", og skriver ut hvert element i konsollvinduet. Legg merke til argumentet .length, som angir antall elementer i listen. Dette bruker vi for at løkken skal teller akkurat så mange ganger som vi har elementer.

Ofte har man behov for å manipulere innholdet i en liste. Til dette finnes det en rekke listefunksjoner eller argument. I kodeeksempelet under vises det noen eksempler på dette. Legg merke til skrivemåten med punktum mellom navnet på lista og argumentet.

 

Todimensjonale lister

Vi har frem til nå tenkt på listene som en tabell med en kolonne for innhold. Hvis vi tenker oss et regneark, så er det en god analogi for tomdimensjonale lister. På samme måte som i et regneark har vi et "rutenett" av celler som vi kan nå ved hjelp av to koordinater. I et regneark vil man nå celle C4 ved å gå bort til kolonnen merket C, og derette nedover til linje fire. Cellen som ligger i kryssningspunktet mellom kolonne C og linje fire vil da være celle C4. På samme måte kan man tenke seg en todimensjonal liste.

Assosiative lister og objekter

Noen ganger kan det være hensiktsmessig å legge inn ekstrainformasjon i listene. Dette gjør at vi kan sortere og hente ut data basert på navn som kan gi mer mening. Et eksempel på dette kan være en liste som inneholder biler. Vi kan da for hvert listeelement som er en bil, legge inn informasjon om merke, modell, farge osv. I eksempelet undervises det hvordan man deklarerer en assosiativ liste. Teknisk sett er dette en liste med objekter, og assosiative lister og objekter har vedlig mange avde samme egenskapene. Forskjellen er at lister har nummerert index, mens objekter bruker navn for å skille mellom de ulike elementene.

Se selv! - Asossiativ liste

Prøv selv!

Prøv å endre på koden

JS Bin