Run details:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
Chrome 120
Mac OS X 10.15.7
Desktop
one year ago
Test name Executions per second
reduce 3184.5 Ops/sec
map + fromEntries 1275.3 Ops/sec
reduce spread 106.7 Ops/sec
Script Preparation code:
AخA
 
var data = { ...Array.from(Array(10000).keys()) };
Tests:
  • reduce

     
    Object.entries(data).reduce((acc, [k, v]) => {
      acc[k] = v.toString();
      return acc;
    }, {});
  • map + fromEntries

     
    Object.fromEntries(Object.entries(data).map(([k, v]) => ([k, v.toString()])));
  • reduce spread

     
    Object.entries(data).reduce((acc, [k, v]) => ({
      ...acc,
      [k]: v.toString(),
    }), {});