edubun
Nederlands

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]);       // cherry

Elke 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, eggs

Nog 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);   // 75

Let 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.

De oefenvakken op deze site drukken arrays compact af, zoals ["a","b"] of [1,2,3]. De console in de ontwikkelaarstools van een browser voegt spaties toe en kan ze anders tonen. Gebruik join als je exacte controle over de uitvoer wilt.

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.

arrayEen geordende lijst waarden in [ ]
elementEén waarde binnen een array
arr[0]Het eerste element
arr[arr.length - 1]Het laatste element
push / popAan het einde toevoegen / van het einde verwijderen
includestrue als de waarde in de array staat
joinPlak elementen aan elkaar tot één string
for...ofLoop door de waarden van een array
off-by-oneEén stap te ver of te weinig gaan, vaak <= in plaats van <
  1. Wat drukt deze code af?
    const a = [10, 20, 30];
    console.log(a[1]);
  2. Wat drukt deze code af?
    const a = [10, 20, 30];
    console.log(a.length);
  3. Wat drukt deze code af?
    const a = ["x", "y", "z"];
    console.log(a[a.length - 1]);
  4. Wat drukt deze code af?
    const a = [1, 2];
    a.push(3);
    a.push(4);
    console.log(a.length);
  5. 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
  6. Wat drukt deze code af?
    const a = ["cat", "dog"];
    console.log(a.indexOf("bird"));
  7. Wat drukt deze code af?
    const a = ["a", "b", "c"];
    console.log(a.join("-"));
  8. Wat drukt deze code af?
    const a = [3, 4, 5];
    let t = 0;
    for (const n of a) {
      t += n;
    }
    console.log(t);
  9. Wat drukt deze code af?
    const a = [1, 2, 3];
    a[0] = 9;
    console.log(a[0] + a[2]);
  10. Wat drukt deze code af?
    const a = ["red", "green"];
    console.log(typeof a[5]);
    • undefined
    • Een fout
    • string
  11. 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++)
Belangrijkste punten
  • 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