Loop vs map vs forEach (v33)

Revision 33 of this benchmark created by Kimmo Saari on


Setup

var range = [];
  
  for (var i = 0; i < 5000; i++) {
    range.push({
      name: "Hello",
      value: 5
    });
  }

Test runner

Ready to run.

Testing in
TestOps/sec
map
range.map(function(item) {
  item.name = 'hi';
  item.value = 6;
});
ready
Loop
var i,
  item,
  ln = range.length;

for (i = 0; i < ln; i++) {
  item = range[i];
  item.name = 'hi';
  item.value = 6;
}
ready
reduce
range.reduce((a, item) => {
  item.name = 'hi';
  item.value = 6;
});
ready
map es6
range.map(item => {
  item.name = 'hi';
  item.value = 6;
});
ready
forEach
range.forEach(function(item) {
  item.name = 'hi';
  item.value = 6;
});
ready
forEach es6
range.forEach( item => {
  item.name = 'hi';
  item.value = 6;
});
ready
while
var item,
  ln = range.length;

while (--ln > -1) {
  item = range[ln];
   item.name = 'hi';
  item.value = 6;
}
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.