Test case details

Preparation Code

var arr = [],         i,         obj = {};     for(i = 0; i < 10000; i += 1) {         var o = {payload:i};         arr.push(o);         obj[i] = o;     }

Test cases

Test #1

var sum = 0; for (var x=0; x<arr.length; ++x) {     sum += arr[x].payload }

Test #2

var sum = 0; for (var x in obj) {     sum += obj[x].payload; }

Test #3

var sum = 0; for (var x=0; x<10000; ++x) {     sum += obj[x].payload }

Test #4

var sum = 0; var keys = Object.keys(obj); for (var x=0, l=keys.length; x<l; ++x) {     sum += obj[keys[x]].payload }