Object Keys Vs For In (v8)

Revision 8 of this benchmark created on


Setup

var jsonObj = {};
    
    for (var i = 0; i < 10000; i++) {
         jsonObj[i] = i * 2;
    }

Test runner

Ready to run.

Testing in
TestOps/sec
Object.keys
var result = "";
Object.keys(jsonObj).forEach(function(key) {
  result = result + jsonObj[key];
});
ready
For In
var result = "";
for (key in jsonObj) {
  if (jsonObj.hasOwnProperty(key)) {
    result = result + jsonObj[key];
  }
}
ready
Object.keys for loop
var result = "",
  keys = Object.keys(jsonObj);

for (var i = 0, l = keys.length; i < l; i++) {
  result = result + jsonObj[keys[i]];
}
ready
For In No HasOwnProperty
var result = "";
for (key in jsonObj) {
  result = result + jsonObj[key];
}
ready

Revisions

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