Run details:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.1 Safari/605.1.15
Safari 12
Mac OS X 10.14.5
Desktop
5 years ago
Test name Executions per second
Map with clone 46.7 Ops/sec
Map 1257.1 Ops/sec
Vanilla For 64.5 Ops/sec
For Of 5463.2 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';
    }