本题要特别注意题目中“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);
京公网安备 11010502036488号