Underscore.each vs jQuery.each vs. `Lo-Dash.each' (v270)

Revision 270 of this benchmark created by Manny Becerra on


Preparation HTML

<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.8.3/jquery.js">
</script>

<script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.5.1/underscore-min.js">
</script>
<script>
window.underscore = _.noConflict();
</script>
<script src="//cdnjs.cloudflare.com/ajax/libs/lodash.js/1.3.1/lodash.min.js">
</script>
<script>
window.lodash = _.noConflict();
</script>

Setup

var $ = window.$,
      lodash = window.lodash,
      underscore = window.underscore;
    
    var a = [],
      newArray = [],
      pi = Math.PI;
    
    for (var i = 1, max = 100; i <= max; i++) {
      a.push('Fundamental alert number ' + i);
    }

Test runner

Ready to run.

Testing in
TestOps/sec
jQuery.each
$.each(a, function(index, val) {
  newArray.push(val);
});
ready
Good ol / classic for loop
for (var i = 0, len = a.length; i < len; i++) {
  newArray.push(
    a[i]
  );
}
ready
underscore.each
underscore.each(a, function(item) {
  newArray.push(
    item
  );
});
ready
Lo-Dash each
lodash.forEach(a, function(item) {
  newArray.push(
    item
  );
});
ready

Revisions

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