本题要特别注意题目中“2. 不指定参数名称,返回全部的参数对象 或者 {}”的要求,不能遗漏~

function getUrlParam(sUrl, sKey) {
    let array = sUrl.split('?')[1].split('#')[0].split('&');
    let result = [];
    if(sKey === undefined){
        result = {};
    }

    for(let i=0; i<array.length; i++){
        let temp = array[i].split('=');
        if(sKey === undefined){
          if(!(temp[0] in result)){
             result[temp[0]] = temp[1]; 
          } else {
            if(result[temp[0]] instanceof Array){
              result[temp[0]].push(temp[1]);
            } else {
              result[temp[0]] = [result[temp[0]], temp[1]];
            }
          }
        } else if(temp[0] === sKey){
            result.push(temp[1]);
        }
    }

    if(result.length === 0) {
        return '';
    }
    if(result.length === 1) {
        return result[0];
    }
    return result;
}

let b = getUrlParam('http://www.nowcoder.com?key=1&key=2&key=3&test=4#hehe','key');
// let b = getUrlParam('http://www.nowcoder.com?key=1&key=2&key=3&test=4#hehe');
console.log(b);