Run details:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36
Chrome 119
Mac OS X 10.15.7
Desktop
one year ago
Test name Executions per second
foeach 26.9 Ops/sec
forof 40.5 Ops/sec
Script Preparation code:
AخA
 
function generateTestArray() {
  const result = [];
  for (let i = 0; i < 1000000; ++i) {
    result.push({
      a: i,
      b: i / 2,
      r: 0,
    });
  }
  return result;
}
Tests:
  • foeach

    x
     
    const array = generateTestArray();
    array.forEach((x) => {
       x.r = x.a + x.b;
    });
  • forof

     
    const array = generateTestArray();
    for (const obj of array) {
      obj.r = obj.a + obj.b;
    }