Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Object.fromEntries vs lodash fromPairs vs Object.assign vs Object spread with custom func
(version: 1)
Comparing performance of:
Object.fromEntries vs _.fromPairs vs Object.assign vs Object spread
Created:
one year ago
by:
Guest
Jump to the latest result
HTML Preparation code:
<script src='https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js'></script>
Tests:
Object.fromEntries
var a = [['a', 1], ['b', 2], ['c', 3]]; var b = Object.fromEntries(a);
_.fromPairs
var addonDefinitions = { a: 1, b: 2, c: 3 }; var definitionsTupleArray = []; Object.entries(addonDefinitions).forEach(([definitionId, definition]) => { definitionsTupleArray.push([definitionId, definition]); }); var b = _.fromPairs(definitionsTupleArray);
Object.assign
var obj = {}; Object.assign(obj, { a: 1 }); Object.assign(obj, { b: 2 }); Object.assign(obj, { c: 3 });
Object spread
let obj = {}; obj = { ...obj, ...{ a: 1 }}; obj = { ...obj, ...{ b: 2 }}; obj = { ...obj, ...{ c: 3 }};
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (4)
Previous results
Fork
Test case name
Result
Object.fromEntries
_.fromPairs
Object.assign
Object spread
Fastest:
N/A
Slowest:
N/A
Latest run results:
Run details:
(Test run date:
one year ago
)
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36
Browser/OS:
Chrome 131 on Mac OS X 10.15.7
View result in a separate tab
Embed
Embed Benchmark Result
Test name
Executions per second
Object.fromEntries
9002239.0 Ops/sec
_.fromPairs
6755774.5 Ops/sec
Object.assign
19589822.0 Ops/sec
Object spread
14817065.0 Ops/sec
Related benchmarks:
lodash extendvs object.assign vs spread
lodash cloneDeep vs object.assign vs spread
lodash extend vs object.assign vs spread
Object.entries vs lodash toPairs
Object.fromEntries vs lodash fromPairs
lodash merge vs object.assign vs spread overwriting one property
lodash assign vs object.assign vs spread
Object.fromEntries vs lodash fromPairs vs Object.assign
Object.fromEntries vs lodash fromPairs vs Object.assign vs Object spread
Comments
Confirm delete:
Do you really want to delete benchmark?