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) // 3console.log(arr1) [ 1, 2 ]
let firstValue = arr1.shift() // returns first value
console.log(firstValue) // 1console.log(arr1) // [ 2 ]
Lägg till i början eller slutet:
let arr1 = [1, 2, 3]arr1.push(42) // add value to last placeconsole.log(arr1) // [ 1, 2, 3, 42 ]
arr1.unshift(42) // add value to first placeconsole.log(arr1) // [ 42, 1, 2, 3, 42 ]
Leta element:
let arr1 = ["lion", "cougar", "tiger"]arr1.includes("cougar") // returns truearr1.includes("elephant") // returns false
Var finns elementet?
let arr1 = ["lion", "cougar", "tiger"]arr1.indexOf("tiger") // returns 2arr1.indexOf("elephant") // returns -1