Itereren over Map-collecties met een lus

Stel we hebben een bepaalde Map collectie:

javascriptlet map = new Map;

let arr1 = [1, 2];
let arr2 = [3, 4];

map.set(arr1, 'data1');
map.set(arr2, 'data2');

Deze collectie kan worden geïtereerd met behulp van een for-of lus:

javascriptfor (let elem of map) {
  
}

Hierbij zullen in elem arrays van sleutel-waarde paren terechtkomen. In het eerste element zal de sleutel zitten, en in het tweede - de waarde:

javascriptfor (let elem of map) {
  console.log(elem); // eerst [[1, 2], 'data1'], dan [[3, 4], 'data2']
}

Sleutels en waarden kunnen worden gescheiden met behulp van destructurering:

javascriptfor (let [key, elem] of map) {
  console.log(key);
  console.log(elem);
}