jQuery.inArray vs indexOf vs custom (v12)

Revision 12 of this benchmark created on


Preparation HTML

<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js">
</script>

Setup

var array_list = [];
    for (var i = 0; i < 1000; i++) {
      array_list[i] = i;
    }
    
    function custom_search(arr, val) {
      for (var i = 0, len = arr.length; i < len; i++) {
        if (arr[i] === val) return i;
      }
      return -1;
    }
    
    function custom_search_starts_from(arr, val, start) {
      for (var i = start || 0, len = arr.length; i < len; i++) {
        if (arr[i] === val) return i;
      }
      return -1;
    }

Test runner

Ready to run.

Testing in
TestOps/sec
indexOf first
array_list.indexOf(0)
ready
indexOf last
array_list.indexOf(999)
ready
$.inArray first
jQuery.inArray(0, array_list)
ready
$.inArray last
jQuery.inArray(999, array_list)
ready
custom first
custom_search(array_list, 0);
ready
custom last
custom_search(array_list, 999);
ready
custom w/ start_from first
custom_search_starts_from(array_list, 0)
ready
custome w/ start_from last
custom_search_starts_from(array_list, 999)
ready

Revisions

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