JS: For loop vs Array.indexOf (v106)

Revision 106 of this benchmark created by chris on


Description

Testing speed of a standard for loop vs. Array.indexOf.

Setup

function createArray(length) {
        var testData = [];
        var countOfRandomElements = length - 2;
    
        testData.push("_first_");
    
        for(var i=0;i<countOfRandomElements;i++) {
           testData.push("no"+i);
        }
    
        testData.push("_last_");
    
        return testData;
    }
    
    var ar = createArray(100);
    var arLarge = createArray(10000);

Test runner

Ready to run.

Testing in
TestOps/sec
for loop
for (var i = 0, len = ar.length; i < len; i++) {
  if (ar[i] === '_first_') {
    return i;
  }
}
ready
indexOf
ar.indexOf('_first_');
ready
for loop last
for (var i = 0, len = ar.length; i < len; i++) {
  if (ar[i] === '_last_') {
    return i;
  }
}
ready
indexOf last
ar.indexOf('_last_');
ready
for loop (large)
for (var i = 0, len = arLarge.length; i < len; i++) {
  if (arLarge[i] === '_first_') {
    return i;
  }
}
ready
indexOf (large)
arLarge.indexOf('_first_');
ready
for loop last (large)
for (var i = 0, len = arLarge.length; i < len; i++) {
  if (arLarge[i] === '_last_') {
    return i;
  }
}
ready
indexOf last (large)
arLarge.indexOf('_last_');
ready

Revisions

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