Test name | Executions per second |
---|---|
for-in | 252.4 Ops/sec |
Object.keys | 318.1 Ops/sec |
function getObj(i) {
return {
'a': {
id: 'a',
num: 1
},
'b': {
id: 'b',
num: 1
},
'c': {
id: 'c',
num: 1
},
'd': {
id: 'd',
num: 1
},
'e': {
id: 'e',
num: 1
},
'f': {
id: 'f',
num: 1
},
'g': {
id: 'g',
num: 1
},
[i.toString()]: 1,
};
};
const r = [];
for (var i=10000; i > 0; i--) {
for (var key in getObj(i)) {
r[i] = key;
}
}
console.log(r.length)
const r = [];
for (var i=10000; i > 0; i--) {
Object.keys(getObj(i)).forEach(key => { r[i] = key; });
}
console.log(r.length)