JSFiddle - React, Tailwind, and code Playground

JavaScript

var urlA = 'http://google.com/?test?hello-world=foo&hello-world=bar&foo=bar&bar=foo&foobar=true&url=http%3A%2F%2Fw3schools.com%2Fmy%20test.asp%3Fname%3Dst%C3%A5le%26car%3Dsaab';
var urlB = 'http://google.com/?';

function getURLParams( url ) {
    var parts = url.split( '?' );
    if ( parts.length === 1 ) {
        return {};
    }
    
    var base = parts.shift();
    var params = parts.pop().split( '&' );
    if ( params.length === 1 && params[ 0 ] === '' ) {
        return {};
    }
  
    var result = {}, param;
    for ( var i = 0, len = params.length; i < len; i++ ) {
        param = params[ i ].split( '=' );
        result[ param[ 0 ] ] = decodeURIComponent( param[ 1 ] );
    }
    return result;
}

console.log( getURLParams( urlA ) );
console.log( getURLParams( urlB ) );