Array.indexOf vs For loop (v19)

Revision 19 of this benchmark created by Andrew Sampson on


Setup

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

Test runner

Ready to run.

Testing in
TestOps/sec
Array.Includes
if(array2.includes(undefined ) ) { 

}
ready
Array.IndexOf
if(array2.indexOf(undefined) > -1 ) {
}
ready
Manual Sparse Search
for (let i=0; i < array2.length; i++) {
        if (array2[i] === undefined || array2[i] === null) {
   
        }
}
ready

Revisions

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