Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Spread vs if/else
(version: 0)
Comparing performance of:
Swtich + spread vs if/else
Created:
4 years ago
by:
Guest
Jump to the latest result
Script Preparation code:
var filters = [{ name: 'operation', value: 'some value' }, { name: 'process', value: 'some value' }, { name: 'notUsed', value: 'slkjrklwejr' }, { name: 'position', value: '2' }, { name: 'multiChoise', value: [{ value: 'FOO' }, { value: 'BAR' }] }, ];
Tests:
Swtich + spread
const query = filters.reduce((res, { name, value }) => { switch (name) { case 'position': return { ...res, position: Number(value), }; case 'operation': case 'process': return { ...res, [name]: value, }; case 'multiChoise': return { ...res, multiChoise: value.map(({ value }) => value), }; default: return res; } }, {});
if/else
const strings = ['operation', 'process']; const query = filters.reduce((res, { name, value }) => { if (name === 'position') { res.position = Number(value); } else if (name === 'multiChoise') { res.multiChoise = value.map(({ value }) => value); } else if (strings.includes(name)) { res[name] = value; } return res; }, {});
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (2)
Previous results
Fork
Test case name
Result
Swtich + spread
if/else
Fastest:
N/A
Slowest:
N/A
Latest run results:
No previous run results
This benchmark does not have any results yet. Be the first one
to run it!
Related benchmarks:
Array.prototype.slice Versus Spread Operator
Array push vs spread operator
push vs spread operator (test)
delete vs spread need for speed
Array.prototype.slice vs spread operator obj
Comments
Confirm delete:
Do you really want to delete benchmark?