JS: For loop vs Array.indexOf (v217)

Revision 217 of this benchmark created on


Description

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

Preparation HTML

<script>
var ar1=[];
for (var j=0;j<2000000;j++){
ar1.push(parseInt(Math.random(j*123)));
}
var ar2=[];
for (var j=0;j<2000000;j++){
ar2.push(parseInt(Math.random(j*300)));
}
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
For loop ===
var toGroup = ar1.filter(function(item) {
  for (var i = 0; i < ar2.length; i++) {
    if (ar2[i] === item) {
      return true;
    }
  }
  return false;

});
ready
indexOf
 var toGroup = ar1.filter(function(item) {
   return ar2.indexOf(item) === -1;
 });
ready
For loop ==
var toGroup = ar1.filter(function(item) {
  for (var i = 0; i < ar2.length; i++) {
    if (ar2[i] == item) {
      return true;
    }
  }
  return false;

});
ready

Revisions

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