Run details:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36
Chrome 103
Windows
Desktop
2 years ago
Test name Executions per second
for loop of Map 270.4 Ops/sec
for loop of Object 29.2 Ops/sec
Script Preparation code:
AخA
 
var mapData = [];
for (let i = 0; i < 100000; i++) {
  mapData.push([i, `object${i}`]);
}
var map = new Map(mapData);
                          
var obj = {};
for (let i = 0; i < 100000; i++) {
  obj[i] = `object${i}`;
}
Tests:
  • for loop of Map

     
    let sum = 0;
    for (let [key, val] of map) {
      sum += key;
    }
  • for loop of Object

     
    let sum = 0;
    for (let [key, val] of Object.entries(obj)) {
      sum += key;
    }