Skip to content

Instantly share code, notes, and snippets.

@xeaone
Created March 2, 2017 00:03
Show Gist options
  • Save xeaone/5afd491c7b958e86f46c2a2248f73ed2 to your computer and use it in GitHub Desktop.
Save xeaone/5afd491c7b958e86f46c2a2248f73ed2 to your computer and use it in GitHub Desktop.
var object = {}, i = 0;
while (i++ < 100000) {
object['user' + i] = i;
}
// fastest
console.time('keys for');
var result;
var keys = Object.keys(object);
for (var i = 0, l = keys.length; i < l; i++) {
result = object[keys[i]];
}
console.timeEnd('keys for');
console.time('keys forEach');
var result, keys = Object.keys(object);
keys.forEach(function(key){
result = object[key];
});
console.timeEnd('keys forEach');
// slowest
console.time('in hasOwnProperty');
var key, result;
for(key in object) {
if (object.hasOwnProperty(key)) {
result = object[key];
}
}
console.timeEnd('in hasOwnProperty');
console.time('in');
var key, result;
for(key in object) {
result = object[key];
}
console.timeEnd('in');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment