2.11 Array, lista
En array är ett objekt som består av en lista med flera värden. Man sparar en array i en variabel och kan komma åt de olika värdena genom ett index, som börjar på 0 för första värdet, 1 för andra värdet, etc. En array har några egenskaper, bl.a. length
som är antalet värden i listan, och flera metoder (funktioner), för att ta fram data eller förändra arrayen. Detta exempel har två delar:
- De olika egenskaperna och metoderna illustreras med små exempel.
- Omskrivning av exemplet med bildspelet, där filnamnen nu sparas i en array.
18 min.
Sammanfattning
Man skapar en array med två hakparenteser, []
. Antingen skapar man en tom array eller så kan man direkt lägga in en kommaseparerad lista av värden mellan hakparenteserna. Man kan också använda new Array()
, men vi använder det kortare skrivsättet []
i denna exempelsamling.
För att komma åt de olika positionerna i arrayen anger man variabelns namn och ett index inom hakparenteser, t.ex. a[2]
. Index för första positionen är 0.
Man kan både avläsa ett värde, t.ex. x = a[2]
och spara ett nytt värde, t.ex. a[2] = y
.
Om vi tänker oss att a = ["äpple", "päron", "banan", "apelsin"]
i varje rad nedan, får vi följande:
Egenskap / metod | Returnerat resultat | Förändring av a |
---|---|---|
a.length |
4 |
oförändrad |
a.push("citron") |
inget returvärde | ["äpple","päron","banan","apelsin","citron"] |
a.pop() |
"apelsin" |
["äpple","päron","banan"] |
a.sort() |
inget returvärde | ["apelsin","banan","päron","äpple"] |
a.slice(1,2) |
["päron","banan"] |
oförändrad |
a.slice(1) |
["päron","banan","apelsin"] |
oförändrad |
a.splice(2,1) |
["banan"] |
["äpple","päron","apelsin"] |
a.includes("banan") |
true |
oförändrad |
a.includes("kiwi") |
false |
oförändrad |
a.indexOf("banan") |
2 |
oförändrad |
a.indexOf("kiwi") |
-1 |
oförändrad |
a.join("/") |
"äpple/päron/banan/apelsin" |
oförändrad |
Några vanliga egenskaper och metoder introducerades i detta exempel och en del andra återkommer vi till i senare exempel. Se även referenslistan för fler exempel och beskrivning.
Egna övningar
Här följer ett förslag på några egna övningar. Öppna filen test.html och test.js och utför följande:
- Skapa en variabel kallad
towns
, med en array som innehåller namn på fem städer. - Skriv en
for
-loop som går igenom alla värden (dvs städer) itowns
. I loopen ska du skriva ut det värde som indexeras av loopvariabeln. Lägg även till taggar för ettp
-element i utskriften, så att varje stad hamnar på varsin rad. - Skapa en variabel
r
och tilldela den ett slumptal mellan 0 och index för det sista värdet i arrayen. Spara den stad som indexeras avr
i den globala variabelnrandomTown
. Skriv också utrandomTown
i elementet för resultat.