Script Preparation code:
x
 
   var arr = [];
    function resetArray(){
      for (var i = 0; i < 1000; i++) {
        arr[i] = i;
      }
    }
  
    function someFn(i) {
      return i * 3 * 8;
    }
    resetArray()
Tests:
  • for - create new array

     
    resetArray()
    var forArray = []
    var length = arr.length
    for (var i = 0; i < length; i++) {
      forArray.push(someFn(arr[i]));
    }
  • forEach - create new array

     
    resetArray()
    var forEachArray = []
    arr.forEach(function (item, index){
      forEachArray.push(someFn(item));
    })
  • map - create new array

     
    resetArray()
    var mapNewArray = [];
    mapNewArray = arr.map(function(item){
        return someFn(item)
    })
  • for - overwrite array

     
    resetArray()
    var len = arr.length
    for (var i = 0; i < len; i++) {
      arr[i] = someFn(arr[i]);
    }
  • forEach - overwrite array

     
    resetArray()
    arr.forEach(function (item, index){
      arr[index] = someFn(item);
    })
  • map - overwrite array

     
    resetArray()
    arr = arr.map(function(item, index){
        return someFn(item)
    })
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    for - create new array
    forEach - create new array
    map - create new array
    for - overwrite array
    forEach - overwrite array
    map - overwrite array

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 3 years ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36
Chrome 96 on Windows
View result in a separate tab
Test name Executions per second
for - create new array 4517.7 Ops/sec
forEach - create new array 5109.1 Ops/sec
map - create new array 5560.8 Ops/sec
for - overwrite array 3008.4 Ops/sec
forEach - overwrite array 3229.8 Ops/sec
map - overwrite array 5769.1 Ops/sec