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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36
Browser:
Chrome 137
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
10 months ago
Test name
Executions per second
Object.entries with URLSearchParams
505043.4 Ops/sec
map reduce
1333525.5 Ops/sec
json parse decodeURI
1295181.6 Ops/sec
json parse decodeURIComponent
684865.2 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) })