Looping in Javascript

JavaScript performance comparison

Revision 69 of this test case created by Stephen Wilson

Info

Testing different types of loops in javascript, assuming you need a reference to each variable.

Preparation code

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js">
</script>
<script>
var underscore = _.noConflict();
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.5.0/lodash.min.js">
</script>
<script>
var lodash = _.noConflict();
</script>
 
<script>
Benchmark.prototype.setup = function() {
    var arr = [{
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }, {
      'a': 1,
      'b': 'hello',
      'c': function() {},
      'd': 289,
      'e': 'element'
    }];
    var sum = 0;
    var cb = function(ind, val) {
      sum += val.a + ind;
    }
};
</script>

Preparation code output

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
JQuery
var i, arrLen = arr.length;
$.each(arr, cb);
pending…
for
for (var i = 0, arrLen = arr.length; i < arrLen; i++) {
  cb(i, arr[i]);
}
pending…
underscore.each
var i, arrLen = arr.length;
underscore.each(arr, cb);
pending…
forEach
var i, arrLen = arr.length;
arr.forEach(cb);
pending…
lodash.each
var i, arrLen = arr.length;
lodash.each(arr, cb);
pending…
for in
var i, arrLen = arr.length;
for (i in arr) {
  cb();
  // Do nothing else.
}
pending…
while
var i, arrLen = arr.length;
while (arrLen--) {
  cb();
  // Do nothing else.
}
pending…
do while
var i, arrLen = arr.length;
do {
  cb();
  // Do nothing else.
} while (arrLen--);
pending…
es5 foreach
var i, arrLen = arr.length;
arr.forEach(cb);
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. Here’s a list of current revisions for this page:

0 comments

Comment form temporarily disabled.

Add a comment