aarontgrogg Array.filter vs for-loop

JavaScript performance comparison

Test case created by Aaron T. Grogg

Preparation code


      
      <script>
Benchmark.prototype.setup = function() {
  var sidekicks = [
      { name: "Robin",     hero: "Batman"   },
      { name: "Supergirl", hero: "Superman" },
      { name: "Oracle",    hero: "Batman"   },
      { name: "Krypto",    hero: "Superman" }
  ];

};
</script>

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
Array.filter
var batKicks = sidekicks.filter(function (el) {
    return (el.hero === "Batman");
});
pending…
for loop
var batKicks = [];

for (var i = 0; i < sidekicks.length ; i++) {
    if (sidekicks[i].hero === "Batman") {
        batKicks.push(sidekicks[i]);
    }
}
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