Array.indexOf vs For loop (v12)

Revision 12 of this benchmark created on


Setup

var array1 = 
  [
    "value1",
    "value2",
    "value3",
    "value4",
    "value5",
    "value6",
    "value7",
    "value8",
    "value9",
    "value10",
    "value11",
    "value12",
    "value13",
    "value14",
    "value15",
    "value16",
    "value17",
    "value18",
    "value19",
    "value20"
  ];
  var array2 =
  [
    "value1",
    "value10",
    "value20"
  ];

Test runner

Ready to run.

Testing in
TestOps/sec
Array.indexOf()
for(var i = 0, len = array1.length; i < len; i++)
{
  var value = array1[i];
  var result = (array2.indexOf(value) !== -1);
}
ready
For loop
for(var i = 0, len = array1.length; i < len; i++)
{
  var value = array1[i];
  var result = false;

  for(var j = 0, len = array2.length; j < len; j++)
  {
    if(value === array2[j])
    {
       result = true;
       break;
    }
  }
}
ready
For loop without break
for(var i = 0, len = array1.length; i < len; i++)
{
  var value = array1[i];
  var result = false;

  for(var j = 0, len = array2.length; j < len; j++)
  {
    if(value === array2[j])
    {
       result = true;
    }
  }
}
ready
Array.indexOf() reversed
for(var i = 0, len = array2.length; i < len; i++)
{
  var value = array2[i];
  var result = (array1.indexOf(value) !== -1);
}
ready

Revisions

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