Skip to content
ICT Fusion Knowledgebase

Arrays en lijsten

Een array (JavaScript) of list (Python) is een geordende verzameling van waarden in รฉรฉn variabele. \ Je kunt er meerdere waarden in bewaren en ze bereiken via hun index (positie, beginnend bij 0).


Aanmaken en indexen

Een lijst maak je met vierkante haken. Het eerste element heeft index 0.

let cijfers = [10, 20, 30, 40];

console.log(cijfers[0]);              // 10  (eerste)
console.log(cijfers[cijfers.length - 1]); // 40  (laatste)
console.log(cijfers.length);          // 4
cijfers = [10, 20, 30, 40]

print(cijfers[0])     # 10  (eerste)
print(cijfers[-1])    # 40  (laatste via negatieve index)
print(len(cijfers))   # 4
int cijfers[] = {10, 20, 30, 40};
int lengte = sizeof(cijfers) / sizeof(cijfers[0]);

Serial.println(cijfers[0]);          // 10 (eerste)
Serial.println(cijfers[lengte - 1]); // 40 (laatste)
Serial.println(lengte);              // 4

Elementen toevoegen en verwijderen

let namen = ["Jan", "Sam"];

namen.push("Lotte");    // toevoegen aan einde โ†’ ["Jan","Sam","Lotte"]
namen.pop();            // verwijder laatste   โ†’ ["Jan","Sam"]
namen.splice(0, 1);     // verwijder index 0   โ†’ ["Sam"]
namen = ["Jan", "Sam"]

namen.append("Lotte")   # toevoegen aan einde โ†’ ["Jan","Sam","Lotte"]
namen.pop()             # verwijder laatste   โ†’ ["Jan","Sam"]
namen.pop(0)            # verwijder index 0   โ†’ ["Sam"]
// Klassieke C-arrays hebben vaste grootte.
// Voor dynamisch toevoegen/verwijderen gebruik je vaak een vaste buffer of eigen indexbeheer.
String namen[3] = {"Jan", "Sam", "Lotte"};

// "Laatste verwijderen" kan door lengte bij te houden:
int lengte = 3;
lengte--; // laatste element logisch negeren

Itereren over een lijst

let kleuren = ["rood", "groen", "blauw"];

// klassieke for-loop (met index)
for (let i = 0; i < kleuren.length; i++) {
    console.log(i, kleuren[i]);
}

// for...of (direct over waarden)
for (let kleur of kleuren) {
    console.log(kleur);
}
kleuren = ["rood", "groen", "blauw"]

# met index via enumerate
for i, kleur in enumerate(kleuren):
    print(i, kleur)

# direct over waarden
for kleur in kleuren:
    print(kleur)
String kleuren[] = {"rood", "groen", "blauw"};
int lengte = sizeof(kleuren) / sizeof(kleuren[0]);

// met index
for (int i = 0; i < lengte; i++) {
  Serial.print(i);
  Serial.print(" ");
  Serial.println(kleuren[i]);
}

Filteren en transformeren

Lijsten kunnen worden gefilterd of omgezet naar een nieuwe lijst.

let getallen = [1, 2, 3, 4, 5, 6];

let even    = getallen.filter(n => n % 2 === 0); // [2, 4, 6]
let dubbel  = getallen.map(n => n * 2);          // [2, 4, 6, 8, 10, 12]
let som     = getallen.reduce((acc, n) => acc + n, 0); // 21
getallen = [1, 2, 3, 4, 5, 6]

even   = [n for n in getallen if n % 2 == 0]  # [2, 4, 6]
dubbel = [n * 2 for n in getallen]            # [2, 4, 6, 8, 10, 12]
som    = sum(getallen)                         # 21
int getallen[] = {1, 2, 3, 4, 5, 6};
int lengte = sizeof(getallen) / sizeof(getallen[0]);

int som = 0;
for (int i = 0; i < lengte; i++) {
  int n = getallen[i];
  if (n % 2 == 0) {
    Serial.println(n); // gefilterde even getallen: 2, 4, 6
  }
  Serial.println(n * 2); // getransformeerd (dubbel)
  som += n;
}
Serial.println(som); // 21

Lijsten van objecten / dictionaries

Om meerdere gekoppelde waarden op te slaan, gebruik je een lijst van objecten (JS) of dictionaries (Python).

let ballen = [];

for (let i = 0; i < 5; i++) {
    ballen.push({ x: Math.random() * 400, y: 100, r: 20 });
}

for (let b of ballen) {
    circle(b.x, b.y, b.r);
}
ballen = []

import random
for i in range(5):
    ballen.append({"x": random.random() * 400, "y": 100, "r": 20})

for b in ballen:
    print(b["x"], b["y"])
struct Bal {
  int x;
  int y;
  int r;
};

Bal ballen[5];

for (int i = 0; i < 5; i++) {
  ballen[i] = {random(0, 400), 100, 20};
}

for (int i = 0; i < 5; i++) {
  Serial.print(ballen[i].x);
  Serial.print(" ");
  Serial.println(ballen[i].y);
}

Samenvatting begrippen

Begrip Betekenis
Array / list Geordende verzameling van waarden
Index Positie van een element (start bij 0)
Negatieve index Python: -1 is het laatste element
length / len() Aantal elementen
push() / append() Toevoegen aan het einde
pop() Verwijder het laatste element (of geef index mee)
filter() / list comprehension Maak een nieuwe lijst op basis van een voorwaarde
map() / list comprehension Transformeer elk element naar een nieuwe waarde