array indexof vs includes vs native for

JavaScript performance comparison

Revision 2 of this test case created by lt

Preparation code

Benchmark.prototype.setup = function() {
  function contains(array, object) {
      for (var i = 0, l = array.length; i < l; i++) {
        if (array[i] === object) {
          return true;
      return false;
  var items = [
      "jpg", "3fr",
      "ari", "arw",
      "crw", "cr2",
      "data", "dcs", "dcr", "dng",
      "eip", "erf",
      "k25", "kdc",
      "mdc", "mef", "mos", "mrw",
      "nef", "nrw",
      "obm", "orf",
      "pef", "ptx", "pxn",
      "r3d", "raf", "raw", "rwl", "rw2", "rwz",
      "sr2", "srf", "srw",


Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in CCBot 2.0.0 / Other 0.0.0
Test Ops/sec
native for
contains(items, "jpg");
contains(items, "x3f");
contains(items, "not found");


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