Run details:
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36
Chrome 87
Linux
Desktop
4 years ago
Test name Executions per second
Object.fromEntries 658.7 Ops/sec
Reduce (reuse object) 1025.1 Ops/sec
Reduce (creating temporary objects) 50.6 Ops/sec
Script Preparation code:
AخA
 
var data = { ...Array.from(Array(10000).keys()) };
Tests:
  • Object.fromEntries

     
    Object.fromEntries(Object.entries(data));
  • Reduce (reuse object)

     
    Object.entries(data).reduce((acc, [k, v]) => {
      acc[k] = v.toString();
      return acc;
    }, {});
  • Reduce (creating temporary objects)

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