Run details:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36
Chrome 75
Mac OS X 10.14.5
Desktop
5 years ago
Test name Executions per second
Map with clone 47.0 Ops/sec
Map 556.4 Ops/sec
Vanilla For 89.9 Ops/sec
For Of 9249.6 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';
    }