in_array vs. $.inArray vs. indexOf()

JavaScript performance comparison

Test case created by Benni

Preparation code

<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
 
<script>
Benchmark.prototype.setup = function() {
    function in_array(item,arr) {
       if(!arr) {
          return false;
       } else {
          for (var p=0;p<arr.length;p++) {
             if (item == arr[p]) {
                return true;
             }
          }
          return false;
       }
    }
   
    var arr = [1, 2, 3, 4, 5, "test", "", undefined, null, {}, true];
};
</script>

Preparation code output

Test runner

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

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
$.inArray
$.inArray(5, arr);
$.inArray(50, arr);
pending…
in_array
in_array(5, arr);
in_array(50, arr);
pending…
indexOf
arr.indexOf(5);
arr.indexOf(50);
pending…

Compare results of other browsers

Revisions

You can edit these tests or add even more tests to this page by appending /edit to the URL. Here’s a list of current revisions for this page:

0 comments

Add a comment