Object.fromEntries vs reduce vs property assignment
Date tested:
one year ago
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36
Test name
Executions per second
Object.fromEntries
1251.0 Ops/sec
Reduce
5204.9 Ops/sec
Property Assignment
5377.5 Ops/sec
Benchmark definition (click to collapse):
Script Preparation code:
var keys = Array(10000).fill(null).map((val, index) => index);
Tests:
Object.fromEntries
Object.fromEntries(keys.map((key) => [key, null]));
Reduce
keys.reduce((acc, k) => { acc[k] = null; return acc; }, {});
Property Assignment
const newObj = {}; keys.forEach((k) => { newObj[k] = null; });
Open this result on MeasureThat.net