Run details:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36
Chrome 89
Windows
Desktop
4 years ago
Test name Executions per second
for 3663.8 Ops/sec
foreach 1974.6 Ops/sec
some 2074.1 Ops/sec
for..of 2133.0 Ops/sec
reduce 1996.6 Ops/sec
Script Preparation code:
AخA
 
var array = [...Array(1000)].map(() => Math.random());
Tests:
  • for

     
    const group = {};
    for (var i = 0; i < array.length; i++) {
      
      array[i];
    }
  • foreach

     
    const group = {};
    array.forEach(function(i) {
      const key = `${array[i]}`;
      
      group[key] = array[i];
    });
  • some

     
    const group = {};
    array.some(function(i) {
      const key = `${array[i]}`;
      
      group[key] = array[i];
    });
  • for..of

     
    const group = {};
    for (var i of array) {
      const key = `${array[i]}`;
      
      group[key] = array[i];
    }
  • reduce

     
    array.reduce(function(group, i) {
      const key = `${array[i]}`;
      
      group[key] = array[i];
      
      return group;
    }, {});