Arrays
Du har allerede lært å lagre én verdi i en variabel:
Variabelen name er en etikett som peker på verdien "Ola". Men hva om du vil lagre flere navn? Kanskje en liste over alle elevene i en gruppe, alle svarene i en quiz, eller alle produktene i en handlekurv?
Da trenger du en array, dette er en organisert samling av verdier. Ofte blir det omtalt som en liste.
Bruk flertall i navnet
En array inneholder mange verdier, så navnet bør stå i flertall: elever, farger, priser – ikke elev, farge, pris. Da ser du med en gang at variabelen peker på en samling, ikke én enkelt verdi.
Hva er en array?
En array er en liste der hver verdi har en fast plass. Tenk på en garderobe med nummererte skap: hvert skap har et nummer, og i hvert skap ligger det én ting.
Slik lager du en array:
Hakeparentesene [ ] forteller at dette er en array (i Python kalt liste). Verdiene skilles med komma.
Nå peker variabelen elever på en samling med fire tekstverdier. I minnet ser det omtrent slik ut:
Indekser
Legg merke til tallene under: 0, 1, 2, 3. Disse kalles indekser, og de forteller deg hvor i arrayen hver verdi befinner seg.
Indekser starter på 0
Den første verdien har indeks 0, ikke 1. Dette er annerledes enn hvordan vi er vant med å telle, og det er noe som forvirrer mange i starten.
Men det er konsekvent i de fleste andre programmeringsspråk.
| Indeks | Verdi |
|---|---|
| 0 | 'Ola' |
| 1 | 'Amina' |
| 2 | 'Jonas' |
| 3 | 'Lin' |
For å hente ut en bestemt verdi bruker du arrayens navn og indeksen i hakeparenteser:
Les koden over nøye. Hva tror du koden skriver ut til terminalen?
Svar
elever[0] gir 'Ola', den første verdien, på indeks 0.
elever[2] gir 'Jonas', den tredje verdien, på indeks 2.
Hvor mange verdier er det?
Egenskapen .length (JavaScript) eller funksjonen len() (Python) forteller deg hvor mange verdier arrayen inneholder:
Arrayen har 4 verdier, men den siste indeksen er 3. Det er alltid slik: siste indeks er length - 1. Denne forskjellen mellom antall og siste indeks er viktig å huske.
Hva skjer hvis du prøver en indeks som ikke finnes?
Noen ganger kan du ende opp å prøve å hente noe som ikke finnes, i eksempelet nedenfor prøver vi å hente noe fra index 4, som ikke finnes. Da gir programmet beskjed om at dette ikke virker.
I Python gir dette en feilmelding.
Også GDScript stopper med en feilmelding hvis du prøver en indeks som er utenfor arrayen.
Endre en verdi
Du kan endre en verdi ved å skrive til en bestemt indeks, akkurat som når du flytter en etikett til en ny verdi:
Nå peker indeks 1 på 'gul' i stedet for 'grønn'. Arrayen er den samme. Det er innholdet på plass 1 som er byttet ut.