Test name | Executions per second |
---|---|
Object.entries with URLSearchParams | 481354.2 Ops/sec |
map reduce | 1289953.6 Ops/sec |
json parse decodeURI | 1187845.0 Ops/sec |
json parse decodeURIComponent | 640233.2 Ops/sec |
var query = 'test=1&test=2&alt=test&b=8&c=9&alt=9';
var result = Object.fromEntries(new URLSearchParams(query));
var result = query.split('&')
.map(p => p.split('='))
.reduce((obj, pair) => {
const [key, value] = pair.map(decodeURIComponent);
obj[key] = value;
return obj;
}, {});
var result = JSON.parse('{"' + decodeURI(query).replace(/"/g, '\\"').replace(/&/g, '","').replace(/=/g,'":"') + '"}')
var result = JSON.parse('{"' + query.replace(/&/g, '","').replace(/=/g,'":"') + '"}', function(key, value) { return key===""?value:decodeURIComponent(value) })