Arrays
Een array bewaart veel waarden op volgorde onder één naam. In ["red", "green", "blue"] staat "red" op index 0 en is de lengte 3.
Een lijst in één variabele
Stel dat een programma de scores van een hele klas bijhoudt. Dertig variabelen genaamd score1, score2, score3 zouden onhandig zijn om mee te werken en je kunt er niet met een lus doorheen. Een array is één waarde die een geordende lijst andere waarden bevat. Je schrijft die met vierkante haken en komma's:
const fruits = ["apple", "banana", "cherry"];
console.log(fruits.length); // 3
console.log(fruits[0]); // apple
console.log(fruits[2]); // cherryElke waarde in een array is een element. Elementen zijn genummerd op index vanaf 0, precies zoals tekens in een string. Het eerste element is dus fruits[0] en het laatste fruits[fruits.length - 1]. Een niet-bestaande index opvragen, zoals fruits[10], veroorzaakt geen fout maar geeft undefined. Een array kan elk soort waarde bevatten en de elementen hoeven niet eens hetzelfde type te hebben, al is dat in de praktijk meestal wel zo.
Een array veranderen
Anders dan strings kun je arrays ter plekke veranderen. Ken een waarde toe aan een index om een element te vervangen: fruits[1] = "blueberry". De methode push voegt een element aan het einde toe en pop verwijdert het laatste en geeft het terug. unshift en shift doen hetzelfde aan het begin. Dit werkt zelfs als de array met const is gedeclareerd. const voorkomt alleen dat de naam naar een andere array gaat verwijzen; het bevriest de inhoud niet.
const list = ["milk", "eggs"];
list.push("bread");
console.log(list.length); // 3
const last = list.pop();
console.log(last); // bread
console.log(list.join(", ")); // milk, eggsNog twee methoden beantwoorden vragen. includes(x) geeft true als x in de array staat en indexOf(x) geeft de index, of -1 als x ontbreekt. join(", ") plakt alle elementen aan elkaar tot één string met het opgegeven scheidingsteken ertussen, de eenvoudigste manier om een lijst netjes af te drukken.
Met een lus door een array
Arrays en lussen horen bij elkaar. Een for-lus met een index vanaf 0 tot, maar niet inclusief, de lengte bezoekt elk element. De for...of-lus is korter als je alleen de waarden nodig hebt en niet hun posities:
const scores = [70, 85, 90, 55];
for (let i = 0; i < scores.length; i++) {
console.log(i, scores[i]);
}
let total = 0;
for (const s of scores) {
total += s;
}
console.log(total / scores.length); // 75Let op de voorwaarde i < scores.length, met < en niet <=. Met vier elementen zijn de indices 0 tot 3 en met <= zou je één stap voorbij het einde lezen. Deze off-by-one-fout is een van de meest voorkomende fouten bij programmeren.
Twee namen, één array
Getallen en strings worden gekopieerd als je ze aan een andere variabele toekent, maar arrays niet. Na const a = [1, 2]; const b = a; verwijzen beide namen naar precies dezelfde array, dus b.push(3) verandert ook wat je via a ziet: a.length is nu 3. Als je een afzonderlijke kopie nodig hebt, schrijf je const b = [...a];, waarmee de elementen van a in een gloednieuwe array worden uitgespreid. Objecten, uit het volgende hoofdstuk, gedragen zich hetzelfde.
Uitgewerkt voorbeeld. Vind het grootste getal in [4, 17, 9, 12] zonder Math.max. Begin met let best = nums[0], loop door de rest en sla elk element dat groter is dan best op in best. Na de lus is best gelijk aan 17. Met hetzelfde patroon, een variabele die de beste tot nu toe onthoudt, vind je het langste woord, de laagste prijs of de vroegste datum.
| array | Een geordende lijst waarden in [ ] |
| element | Eén waarde binnen een array |
| arr[0] | Het eerste element |
| arr[arr.length - 1] | Het laatste element |
| push / pop | Aan het einde toevoegen / van het einde verwijderen |
| includes | true als de waarde in de array staat |
| join | Plak elementen aan elkaar tot één string |
| for...of | Loop door de waarden van een array |
| off-by-one | Eén stap te ver of te weinig gaan, vaak <= in plaats van < |
- Wat drukt deze code af?
const a = [10, 20, 30]; console.log(a[1]); - Wat drukt deze code af?
const a = [10, 20, 30]; console.log(a.length); - Wat drukt deze code af?
const a = ["x", "y", "z"]; console.log(a[a.length - 1]); - Wat drukt deze code af?
const a = [1, 2]; a.push(3); a.push(4); console.log(a.length); - Wat drukt deze code af?
const a = [5, 6, 7]; const x = a.pop(); console.log(x, a.length);- 7 2
- 5 2
- 7 3
- Wat drukt deze code af?
const a = ["cat", "dog"]; console.log(a.indexOf("bird")); - Wat drukt deze code af?
const a = ["a", "b", "c"]; console.log(a.join("-")); - Wat drukt deze code af?
const a = [3, 4, 5]; let t = 0; for (const n of a) { t += n; } console.log(t); - Wat drukt deze code af?
const a = [1, 2, 3]; a[0] = 9; console.log(a[0] + a[2]); - Wat drukt deze code af?
const a = ["red", "green"]; console.log(typeof a[5]);- undefined
- Een fout
- string
- Welke luskop bezoekt elke index van arr precies eenmaal?
for (let i = 0; i < arr.length; i++)for (let i = 0; i <= arr.length; i++)for (let i = 1; i <= arr.length; i++)
- Arrays bevatten geordende waarden in [ ]; indices beginnen bij 0.
- Het laatste element is arr[arr.length - 1].
- push en pop voegen aan het einde toe en verwijderen daar; de inhoud van const-arrays kan nog veranderen.
- includes, indexOf en join beantwoorden veelvoorkomende vragen.
- Loop met i vanaf 0 zolang i < length, of gebruik for...of voor de waarden.
Bronnen van deze cursus (2)
- MDN Web Docs, JavaScript Guide (developer.mozilla.org/en-US/docs/Web/JavaScript/Guide, chapters Introduction, Grammar and types, Control flow, Loops and iteration, Functions, Expressions and operators, Numbers and strings, Indexed collections, Working with objects; checked 2026-10-17)
- Ecma International, ECMA-262 ECMAScript 2026 Language Specification, 17th edition, June 2026 (tc39.es/ecma262 and ecma-international.org/publications-and-standards/standards/ecma-262, checked 2026-10-17).
Geraadpleegd: 2026-10-17