jQuery multiple grep vs embedded for... in loop

Benchmark created on


Description

Test of a $.grep embedded in a $.grep vs a for loop embedded in a for loop.

Preparation HTML

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

Setup

var joinVar = 1;
    var a = [{
      a: 1
    }, {
      a: 2
    }, {
      a: 3
    }, {
      a: 4
    }, {
      a: 5
    }, {
      a: 6
    }, {
      a: 7
    }, {
      a: 8
    }, {
      a: 9
    }, {
      a: 10
    }];
    var b = [{
      joinVar: 1,
      a: 1
    }, {
      joinVar: 2,
      a: 1
    }, {
      joinVar: 1,
      a: 2
    }, {
      joinVar: 2,
      a: 2
    }];

Test runner

Ready to run.

Testing in
TestOps/sec
jQuery grep
var c = $.grep(b, function(n) {
  return n.joinVar = joinVar;
});
var d = $.grep(a, function(n) {
  var e = $.grep(c, function(o) {
    return o.a == n.a;
  })
  if (e.length > 0) return true;
  return false;
})
ready
for... in...for.. in
for (var y in a) {
  for (var x in b) {
    if (b[x].joinVar == joinVar && b[x].a == a[y].a) return true;
  }
  return false;
}
ready

Revisions

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