การวนลูปผ่านคอลเลกชัน Map

สมมติว่าเรามีคอลเลกชัน Map:

javascriptlet map = new Map;

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

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

คอลเลกชันนี้สามารถวนลูปได้โดยใช้ลูป for-of:

javascriptfor (let elem of map) {
  
}

ในกรณีนี้ elem จะได้รับอาร์เรย์ของคู่ คีย์-ค่า องค์ประกอบแรก จะเป็นคีย์ และองค์ประกอบที่สองจะเป็นค่า:

javascriptfor (let elem of map) {
  console.log(elem); // ก่อน [[1, 2], 'data1'], หลัง [[3, 4], 'data2']
}

สามารถแยกคีย์และค่าออกจากกันได้โดยใช้ destructuring:

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