Test name | Executions per second |
---|---|
lodash merge | 367361.0 Ops/sec |
object.assign | 4670935.0 Ops/sec |
spread | 1646190.8 Ops/sec |
json deep clone | 450785.7 Ops/sec |
<script src='https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js'></script>
var defaultOptions = {
headers: {
'content-type': 'application/json',
'user-agent': 'super-app',
}
};
var options = { headers: {'content-type': 'application/xml' }, data: { 'key': 'value' } };
var result = _.merge(defaultOptions, options);
var defaultOptions = {
headers: {
'content-type': 'application/json',
'user-agent': 'super-app',
}
};
var options = { headers: { 'content-type': 'application/xml' }, data: { 'key': 'value' } };
var result = Object.assign(defaultOptions, options);
var defaultOptions = {
headers: {
'content-type': 'application/json',
'user-agent': 'super-app',
}
};
var options = { headers: { 'content-type': 'application/xml' }, data: { 'key': 'value' } };
var result = { defaultOptions, options };
var defaultOptions = {
headers: {
'content-type': 'application/json',
'user-agent': 'super-app',
}
};
var options = { headers: { 'content-type': 'application/xml' }, data: { 'key': 'value' } };
var clonedOptions = JSON.parse(JSON.stringify(options));
var result = Object.assign(defaultOptions, clonedOptions);