lodash merge vs object.assign vs spread with arraysj
Date tested:
4 years ago
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:62.0) Gecko/20100101 Firefox/62.0
Test name
Executions per second
lodash assign
1574027.0 Ops/sec
object.assign
1492390.0 Ops/sec
spread
1588159.0 Ops/sec
Benchmark definition (click to collapse):
HTML Preparation code:
<script src='https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js'></script>
Tests:
lodash assign
var a = { a: 'oh', b: [1, 2, 3] }; var b = { b: [2, 3, 4] }; var c = _.assign({}, a, b);
object.assign
var a = { a: 'oh', b: [1, 2, 3] }; var b = { b: [2, 3, 4] }; var c = Object.assign({}, a, b);
spread
var a = { a: 'oh', b: [1, 2, 3] }; var b = { b: [2, 3, 4] }; var c = { ...a, ...b };
Open this result on MeasureThat.net