Test case details

Preparation Code

<script>   var ar = [],       ob = {};   for (var i = 0; i < 10000; i++){     /*      The idea is to flip keys with values to make the search      faster using in, thus we need to make values differ from keys     */     var v = i + Math.random() + ""; // And let's make them strings     ar.push(v);     ob[v] = i;     var ref = ar[5000];   } </script>

Test cases

Test #1

for (var i = 0; i < ar.length; i++) {  if (ar[i] === ref) {   break;  } }

Test #2

var a = ar.indexOf(ref);

Test #3

for (var i = ar.length; i--;) {  if (ar[i] === ref) {   break;  } }

Test #4

var i = 0, l = ar.length; while (i < l) {  if (ar[i] === ref) {   break;  }  i++; }

Test #5

var l = ar.length; for (var i = 0; i < ar.length; i++) {  if (ar[i] === ref) {   break;  } }

Test #6

var index = (ref in ob ? ob[ref] : -1);