Skip to content

Introduktion till arrayer

Arrayer är en datastruktur som vi kännr igen från andra programmeringsspråk. Från Python känner vi till den som “lista” och från PHP som “array”. Vi kan med JavaScripts arrayer lagra i stort sett precis vad vi vill däri, vilket gör dem till en central del i språket.

Skapa en array

Vi skapar oftast en array med literalen []:

let myArray = [] // Skapar en tom array
console.log(myArray) // []
console.log(myArray.length) // 0
let myArray2 = [42, "stormtrooper"] // Definieras direkt med två värden
console.log(myArray2) // [ 42, 'stormtrooper' ]
console.log(myArray2.length) // 2

Använda en array

En array är indexerad från 0, vilket betyder att det vi har på första platsen har index 0, andra platsen har index 1 osv. Kika på exemplet nedan:

let myArray3 = [42, "stormtrooper", "Pavarotti"]
console.log(myarray[1]) // stormtrooper

Vi kan då blanda in till exempel forloopar som hanterar arrayer smidigt:

let myArray3 = [42, "stormtrooper", "Pavarotti"]
for (let i = 0; i < myArray2.length; i++) {
console.log(myArray[i])
}

Nuförtiden kan man ju även använda of/in:

let myArray3 = [42, "stormtrooper", "Pavarotti"]
for (const item in myArray3) {
console.log(item) // index 0-2
console.log(myArray3[item]) // value in array
}
for (const item of myArray3) {
console.log(item) // value in array
}

Några inbyggda metoder (funktioner)

En array är av instansen Array och har en hel uppsätning inbyggda metoder, tex Array.length som vi såg ovan. Vi tittar på några till.

konkatinera arrayer:

let arr1 = [1, 2, 3]
let arr2 = [4, 5, 6]
let arr3 = arr1.concat(arr2)
console.log(arr3) // [ 1, 2, 3, 4, 5, 6 ]

Hämta sista respektive första värdet:

let arr1 = [1, 2, 3]
let lastValue = arr1.pop() // returns last value
console.log(lastValue) // 3
console.log(arr1) [ 1, 2 ]
let firstValue = arr1.shift() // returns first value
console.log(firstValue) // 1
console.log(arr1) // [ 2 ]

Lägg till i början eller slutet:

let arr1 = [1, 2, 3]
arr1.push(42) // add value to last place
console.log(arr1) // [ 1, 2, 3, 42 ]
arr1.unshift(42) // add value to first place
console.log(arr1) // [ 42, 1, 2, 3, 42 ]

Leta element:

let arr1 = ["lion", "cougar", "tiger"]
arr1.includes("cougar") // returns true
arr1.includes("elephant") // returns false

Var finns elementet?

let arr1 = ["lion", "cougar", "tiger"]
arr1.indexOf("tiger") // returns 2
arr1.indexOf("elephant") // returns -1