$.inArray vs indexOf vs RegExp.test

JavaScript performance comparison

Test case created by Craig Thompson

Preparation code

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script>
  var sep = '@~@',
      names = ['Bob', 'Charlie', 'Vicky', 'Kate', 'Tom', 'Craig', 'Sean', 'Scott', 'Hannah', 'Nikki', 'Pippa', 'Alyson', 'Louise'],
      namesStr = names.join(sep);
  
  function useArr(name) {
   return $.inArray(name, names) > -1;
  }
  
  function useStr(name) {
   return namesStr.indexOf(name + sep) > -1;
  }
  
  function useRegex(name) {
   return (new RegExp(name + sep)).test(namesStr);
  }
</script>
    

Preparation code output

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
$.inArray
useArr('Tom');
pending…
indexOf
useStr('Tom');
pending…
RegExp.test
useRegex('Tom');
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.

0 Comments