Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
foreach: object keys vs object entries vs for...in
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36
Browser:
Chrome 140
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
7 months ago
Test name
Executions per second
object with keys
75953.2 Ops/sec
object with entries 1
33171.6 Ops/sec
object with entries 2
33873.6 Ops/sec
for...in
56667.3 Ops/sec
Script Preparation code:
var obj = {}; const TXT = "ASDFASFASDFASDFSADFASDFASDFSDAFSDFASDFASDFASDFASDF"; const newObj = {}; for (i = 0; i < 10000; ++i) { obj[i] = `${i} ${TXT}`; }
Tests:
object with keys
Object.keys(obj).forEach( (key) => { newObj[key] = obj[key]; } );
object with entries 1
Object.entries(obj).forEach( (entry) => { newObj[entry.key] = entry.value; } );
object with entries 2
Object.entries(obj).forEach( ([key, value]) => { newObj[key] = value; } );
for...in
for (const key in obj) { newObj[key] = obj[key] }