Test case details

Preparation Code

<script> // Populate the base array var arr = []; for (var i = 0; i < 1000; i++) { arr[i] = i; } var len= arr.length; function someFn(ix) { return ix * 5 + 1 / 3 * 8; } var map1 = function (array,callback){ for (var i = 0; i < array.length; i++) { callback(i); } } </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; i < len; i++) { someFn(arr[i]); }

Test #9

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

Test #10

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

Test #11

// async test map1(arr,function(index){ someFn(arr[index]); deferred.resolve(); });