Array

Dette notatet gjelder kun Javascript

Dette notatet omhandler kun Javascript. Det finnes arrays i andre programmeringsspråk, blant annet finnes det Numpy arrays i Python.

Et array er en samling av indekserte elementer. Jeg tenker på arrays som lister med elementer.

Et array defineres med hakeparenteser og komma mellom hvert element i arrayet.

let arrayNavn = [verdi1, verdi2, verdi3]

Elementene i arrayet har følgende indekser:

indeks verdi
0 verdi1
1 verdi2
2 verdi3

Arraymetoder

Metode Forklaring
array.push(verdi) Legger til element i slutten av arrayet
array.unshift(verdi) Legger til element i starten av arrayet
array.pop() Fjerner siste element i arrayet
array.shift() Fjerner første element i arrayet
array.splice(indeks, antall) Sletter, endrer eller legger til elementer i Arrayet
array.join(skilletegn) Gjør om arrayet til en tekststreng og skiller verdiene med skilletegn

Eksempler på bruk av array.splice()

array.splice() kan brukes både til å slette, endre eller legge til elementer i et array. Her kommer derfor noen eksempler på bruk (hentet fra ChatGPT).

Fjern elementer fra et array:

let fruits = ['eple', 'banan', 'appelsin', 'drue'];
fruits.splice(1, 2); // Fjerner 2 elementer fra indeks 1
console.log(fruits); // Output: ['eple', 'drue']

Legg til elementer med sletting

let colors = ['rød', 'blå', 'grønn'];
colors.splice(1, 1, 'gul', 'oransje'); // Fjerner 1 element fra indeks 1 og legger til to nye
console.log(colors); // Output: ['rød', 'gul', 'oransje', 'grønn']

Bytt ut elementer

let numbers = [1, 2, 3, 4];
numbers.splice(2, 1, 10, 20); // Erstatter 1 element ved indeks 2 med 10 og legger til 20
console.log(numbers); // Output: [1, 2, 10, 20, 4]

Hent fjernede elementer

let letters = ['a', 'b', 'c', 'd'];
let removed = letters.splice(1, 2); // Fjerner 2 elementer fra indeks 1 og lagrer dem i 'removed'
console.log(letters); // Output: ['a', 'd']
console.log(removed); // Output: ['b', 'c']

Array metoder i Svelte

Hvis et array blir endret med en metode som pop eller push, så vil ikke disse endringene bli synlige før du tilordner arrayvariabelen på nytt.

const addNumber = () => { 
	numbers.push(numbers.length + 1); 
	numbers = numbers;  // Nødvendig
}

Istedenfor å bruke en metode kan man bruke spread syntaksen ⤵

const addNumber = () => { 
	numbers = [...numbers, numbers.length + 1]; 
}