JSFiddle - React, Tailwind, and code Playground

by Paco86

JavaScript

var quertString = "linkedin.com?q1=v1&q2=v2&q3=v3&q4=v4";
var ha = "http://example.com/over/there?name=ferret&name=tom&id=1";
var returnANameObject = function(aString){
  // find index after questionmark
  var index = aString.indexOf('?');
  if (index == -1){
    return null;
  }

  var secondPart = aString.substring(index + 1).split('&'); // q1=v1,
  q2=v2
  var answer = {};
  for (var i = 0; i < secondPart.length; i++){
    let eachOne = secondPart[i].split('=');
    if (answer[eachOne[0]] === undefined){
      answer[eachOne[0]] = eachOne[1];
    }
    else {
      if (Array.isArray(answer[eachOne[0]])){
        answer[eachOne[0]].push(eachOne[1]);
      }
      else {
        let array = {};
        array.push(answer[eachOne[0]]);
        array.push(answer[eachOne[1]]);
        answer[eachOne[0]] = array;
      }
    }
  }
  return answer;
}
console.log(returnANameObject(ha));