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 (Android 12; Mobile; rv:120.0) Gecko/120.0 Firefox/120.0
Browser:
Firefox Mobile 120
Operating system:
Android
Device Platform:
Mobile
Date tested:
2 years ago
Test name
Executions per second
Object.entries with URLSearchParams
110637.1 Ops/sec
map reduce
480577.1 Ops/sec
json parse decodeURI
334323.8 Ops/sec
json parse decodeURIComponent
218704.7 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) })