Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Url parameters to object
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.0.0
Browser:
Chrome 124
Operating system:
Windows
Device Platform:
Desktop
Date tested:
2 years ago
Test name
Executions per second
Object.entries with URLSearchParams
232392.0 Ops/sec
map reduce
484349.5 Ops/sec
json parse decodeURI
529039.3 Ops/sec
json parse decodeURIComponent
250018.4 Ops/sec
Script Preparation code:
var query = 'test=1&test=2&alt=test&b=8&c=9&alt=9';
Tests:
Object.entries with URLSearchParams
var result = Object.fromEntries(new URLSearchParams(query));
map reduce
var result = query.split('&') .map(p => p.split('=')) .reduce((obj, pair) => { const [key, value] = pair.map(decodeURIComponent); obj[key] = value; return obj; }, {});
json parse decodeURI
var result = JSON.parse('{"' + decodeURI(query).replace(/"/g, '\\"').replace(/&/g, '","').replace(/=/g,'":"') + '"}')
json parse decodeURIComponent
var result = JSON.parse('{"' + query.replace(/&/g, '","').replace(/=/g,'":"') + '"}', function(key, value) { return key===""?value:decodeURIComponent(value) })