For/While Loop vs indexOf (v169)

Revision 169 of this benchmark created by forrestone on


Preparation HTML

<script>
  var ar = [1, 2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5, 6, 7, 8, 9, 9, 2, 3, 4, 5, 6, 7, 8, 9, 9, 2, 3, 4, 5, 6, 7, 8, 9, 9, 2, 3, 4, 5, 6, 7, 8, 9, 9, 2, 3, 4, 5, 6, 7, 8, 9, 9, 2, 3, 4, 5, 6, 7, 8, 9, 9, 2, 3, 4, 5, 6, 7, 8, 9, 9, 2, 3, 4, 5, 6, 7, 8, 9, 9, 2, 3, 4, 5, 6, 7, 8, 9, 9, 2, 3, 4, 5, 6, 7, 8, 9, 9, 2, 3, 4, 5, 6, 7, 8, 9, 9, 2, 3, 4, 5, 6, 7, 8, 9, 9, 2, 3, 4, 5, 6, 7, 8, 9, 9, 2, 3, 4, 5, 6, 7, 8, 9, 9, 2, 3, 4, 5, 6, 7, 8, 9, 9, 2, 3, 4, 5, 6, 7, 8, 9, 9, 2, 3, 4, 5, 6, 7, 8, 9, 9, 2, 3, 4, 5, 6, 7, 8, 9, 9, 2, 3, 4, 5, 6, 7, 8, 9, 9, 2, 3, 4, 5, 6, 7, 8, 9, 9, 2, 3, 4, 5, 6, 7, 8, 9, 9, 2, 3, 4, 5, 6, 7, 8, 9, 9, 2, 3, 4, 5, 6, 7, 8, 9];


  function indexOfFor(ar, v) {
    var i = ar.lenght,
    for (; i ; i--) {
      if (ar[i] === v) {
        return i;
      }
    }
    return -1;
  }

  function indexOfWhile(ar, v) {
    var i = 0,
        a;
    while (a = ar[i++]) {
      if (a === v) {
        return i - 1;
      }
    }
    return -1;
  }

function indexOfWhile2(ar,v)
{
var i = ar.length;
        while (--i>-1)
        {
            if (ar[i] === v) return i - 1;
        }
return -1;
}
  function indexOf(ar, v) {
    return ar.indexOf(v);
  }
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
For loop
var a = indexOfFor(ar, 40);
ready
While Loop
var a = indexOfWhile(ar, 40);
ready
indexOf
var a = indexOf(ar, 40);
ready
While loop 2
var a = indexOfWhile2(ar, 40);
ready

Revisions

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