Counting occurrences of a specific value in an array

JavaScript performance comparison

Test case created by Proustibat

Preparation code

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

      
<script>
Benchmark.prototype.setup = function() {
  var myArray = ["youpi", "bla", "bli", "blou", "blou", "bla", "bli", "you", "pi", "youpi", "yep", "yeah", "bla", "bla", "bli", "you", "pi", "youpi", "yep", "yeah", "bla", "bla", "bli", "you", "pi", "youpi", "yep", "yeah", "bla", "bla", "bli", "you", "pi", "youpi", "yep", "yeah", "bla"];

};
</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
Native javascript method
var nbOcc = 0;
for (var i = 0; i < myArray.length; i++) {
  if (myArray[i] == "bla") {
    nbOcc++;
  }
}
// console.log(nbOcc); //returns 9
pending…
jQuery method with grep
var nbOcc = $.grep(myArray, function(elem) {
  return elem == "bla";
}).length;
// console.log(nbOcc); //returns 9
pending…
Native javascript with indexOf
var indices = [];
var idx = myArray.indexOf("bla");
while (idx != -1) {
  indices.push(idx);
  idx = myArray.indexOf("bla", idx + 1);
}
var nbOcc = indices.length;
// console.log(nbOcc); //returns 9
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