Run details:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36
Chrome 76
Windows
Desktop
5 years ago
Test name Executions per second
Map with clone 27.7 Ops/sec
Map 119.0 Ops/sec
Vanilla For 57.9 Ops/sec
For Of 2836.1 Ops/sec
Script Preparation code:
AخA
 
var objects = new Array(100000);
objects.fill({key: 'derp'});
Tests:
  • Map with clone

     
    objects.map((obj) => {
      obj = Object.assign({}, obj);
      obj.group = 'grouping';
      return obj;
    })
  • Map

     
    objects.map((obj) => {
      obj.group = 'grouping';
      return obj;
    })
  • Vanilla For

     
    for (let i = 0; i < objects.length; i++) {
      objects[i].group = 'grouping';
    }
  • For Of

     
    for (const obj of objects) {
      obj.group = 'grouping';
    }