Test case details

Preparation Code

<script> // Populate the base array var arr = []; for (var i = 0; i < 1000; i++) { arr[i] = i; } function someFn(ix) { return ix * 5 + 1 / 3 * 8; } function loop(body) { (function next() { body(next); }()); } </script>

Test cases

Test #1

var l = arr.length; while(l--) { someFn(arr[l]); }

Test #2

var i = 0; while (i < arr.length) { someFn(arr[i]); i++; }

Test #3

for (var i = 0, len = arr.length; i < len; i++) { someFn(arr[i]); }

Test #4

while( i = arr.shift() ) { someFn(i); }

Test #5

while( (i = arr.shift()) !== undefined ) { someFn(i); }

Test #6

for (var i = 0; i < arr.length; i++) { someFn(arr[i]); }

Test #7

var i = 0 for (; i < arr[i]; i++) { someFn(arr[i]); }

Test #8

for (var i = 0, elt; elt = arr[i]; i++) { someFn(elt); }

Test #9

for (var i = 0, l = arr.length; i !== l; i++) { someFn(arr[i]); }

Test #10

var i=0,l=arr.length; loop(function(next){ someFn(arr[i++]); if(i<l){next();} });