JSFiddle - React, Tailwind, and code Playground
JavaScript
var q='array[]=1&array[]=2&key=value&empty=#hash';
function qs(a){
if(!a)return {};
a=a.split('#')[0].split('&');
var b=a.length,c={},d,k,v;
while(b--){
d=a[b].split('=');
k=d[0].replace('[]',''),v=decodeURIComponent(d[1]||'');
c[k]?typeof c[k]==='string'?(c[k]=[v,c[k]]):(c[k].unshift(v)):c[k]=v;
}
return c
}
document.body.appendChild(document.createElement('pre')).textContent=JSON.stringify(qs(q),null,'\t');