1 JavaScript Arrays

In JavaScript is een array een datatype waarmee je een verzameling van meerdere waarden kunt opslaan. Arrays kunnen elementen van verschillende typen bevatten, zoals getallen, strings, objecten, of zelfs andere arrays.

1.1 JavaScript Arrays basis

Arrays kunnen worden gedefinieerd met vierkante haken [] en kunnen verschillende soorten waarden bevatten.

let getallen = [1, 2, 3, 4];
let namen = ["Alice", "Bob", "Charlie"];
let mix = [42, "Hallo", true];

Je kunt ook een lege array definiëren en later vullen:

let legeArray = [];

1.2 JavaScript Arrays methoden

Hieronder worden enkele array methoden behandeld. Dit zijn echter niet alle methoden die beschikbaar zijn op een array. Voor alle methode kijk dan op de Mozilla documentatie.

1.2.1 JavaScript array methoden push

Met de push methode voeg je een of meer elementen toe aan het einde van een array.

const getallen = [1, 2, 3];
getallen.push(4);
console.log(getallen); // [1, 2, 3, 4]

1.2.2 JavaScript array methoden pop

Met de pop methode verwijder je het laatste element van een array en retourneer je dit element.

const getallen = [1, 2, 3];
const laatsteGetal = getallen.pop();
console.log(laatsteGetal); // 3
console.log(getallen); // [1, 2]

1.2.3 JavaScript array methoden shift

Met de shift methode verwijder je het eerste element van een array en retourneer je dit element.

const getallen = [1, 2, 3];
const eersteGetal = getallen.shift();
console.log(eersteGetal); // 1
console.log(getallen); // [2, 3]

1.2.4 JavaScript array methoden unshift

Met de unshift methode voeg je een of meer elementen toe aan het begin van een array.

const getallen = [2, 3];
getallen.unshift(1);
console.log(getallen); // [1, 2, 3]

1.2.5 JavaScript array methoden map

Met de map methode maak je een nieuwe array door een functie toe te passen op elk element van de originele array. De originele array blijft ongewijzigd.

const getallen = [1, 2, 3];
const verdubbeld = getallen.map(function(getal) {
  return getal * 2;
});
console.log(verdubbeld); // [2, 4, 6]

1.2.6 JavaScript array methoden filter

Met de filter methode maak je een nieuwe array door elementen te selecteren die voldoen aan een bepaalde voorwaarde. De originele array blijft ongewijzigd.

const getallen = [1, 2, 3, 4];
const evenGetallen = getallen.filter(function(getal) {
  return getal % 2 === 0;
});
console.log(evenGetallen); // [2, 4]

1.2.7 JavaScript array methoden reduce

Met de reduce methode kun je de elementen van een array reduceren tot een enkele waarde door een functie toe te passen die telkens twee elementen combineert. Dit kan bijvoorbeeld gebruikt worden om de som of het product van alle elementen te berekenen.

const getallen = [1, 2, 3, 4];
const som = getallen.reduce(function(totaal, getal) {
  return totaal + getal;
}, 0);
console.log(som); // 10

1.2.8 JavaScript array methoden tips

In het hoofdstuk over functions hebben we anonymous en arrow-functions besproken. Deze kunnen ook gebruikt worden met array methode. Zie hieronder een voorbeeld met dit soort functies in combinatie met array methoden map, filter en reduce.

Voorbeeld

const getallen = [1, 2, 3, 4];
const verdubbeld = getallen.map(function(getal) {
  return getal * 2;
});
 
const evenGetallen = getallen.filter(function(getal) {
  return getal % 2 === 0;
});
 
const som = getallen.reduce(function(totaal, getal) {
  return totaal + getal;
}, 0);
 
console.log(verdubbeld); // [2, 4, 6, 8]
console.log(evenGetallen); // [2, 4]
console.log(som); // 10

Dit kan herschreven worden naar:

const getallen = [1, 2, 3, 4];
const verdubbeld = getallen.map(getal => getal * 2);
 
const evenGetallen = getallen.filter(getal => getal % 2 === 0);
 
const som = getallen.reduce((totaal, getal) => totaal + getal, 0);
 
console.log(verdubbeld); // [2, 4, 6, 8]
console.log(evenGetallen); // [2, 4]
console.log(som); // 10

1.3 Oefening JavaScript arrays

Hieronder staan enkele oefeningen met array maken en enkele methoden.

1.3.1 Oefening JavaScript Array

Maak een array dagen met de dagen van de week en print deze naar de console.

 
console.log(dagen)

1.3.2 Oefening JavaScript Array methode push

Voeg drie films toe aan de favorieteFilms array met behulp van de push methode.

const favorieteFilms = ["Inception", "The Matrix", "Interstellar"];
 
// Voeg films toe
 
console.log(favorieteFilms);

1.3.3 Oefening JavaScript Array methode pop

Verwijder het laatste element uit de array favorieteFilms en print de verwijderde film en de bijgewerkte array.

const favorieteFilms = ["Inception", "The Matrix", "Interstellar"];
 
// Verwijder de laatste film
 
 
console.log(verwijderdeFilm); // "Interstellar"
console.log(favorieteFilms); // ["Inception", "The Matrix"]

1.3.4 Oefening JavaScript Array methode shift

Verwijder het eerste element uit de array favorieteFilms en print de verwijderde film en de bijgewerkte array.

const favorieteFilms = ["Inception", "The Matrix", "Interstellar"];
 
// Verwijder de eerste film
 
console.log(verwijderdeFilm); // "Inception"
console.log(favorieteFilms); // ["The Matrix", "Interstellar"]
 

1.3.5 Oefening JavaScript Array methode unshift

Voeg een nieuwe film toe aan het begin van de array favorieteFilms en print de bijgewerkte array.

const favorieteFilms = ["The Matrix", "Interstellar"];
 
// Voeg een film toe aan het begin
 
// Print de array
console.log(favorieteFilms); // ["Blade Runner", "The Matrix", "Interstellar"]
 

1.3.6 Oefening JavaScript Array methode map

Gebruik de map methode om een array nummers te delen en print de nieuwe array.

const nummers = [2, 7, 4, 6, 8, 9, 11];
 
// Deel de nummers
 
 
// Print de nieuwe array
console.log(gedeeeld); // [1, 3.5, 2, 3, 4, 4.5, 5.5]

1.3.7 Oefening JavaScript Array methode filter

Gebruik de filter methode om een array nummers te filteren zodat alleen oneven getallen overblijven en print de nieuwe array.

const nummers = [2, 7, 4, 6, 8, 9, 11];
 
// filter de nummers
 
// Print de nieuwe array
console.log(oneven); // [7, 9, 11]

1.3.8 Oefening JavaScript Array methode reduce

Gebruik de reduce methode om de som van de getallen in de array nummers te berekenen en print de som.

const nummers = [2, 7, 4, 6, 8, 9, 11];
 
// bereken de som
 
// Print de som
console.log(som); // 47