简单的面试题:
例如一个url http://item.taobao.com/item.htm?a=1&b=2&c=&d=xxx&e,请写一
段 JS 程序提取 URL 中的各个 GET 参数(参数名和参数个数不确定),将其按
key-value 形式返回到一个 json 结构中,如{a:’1′, b:’2′, c:”, d:’xxx’, e:undefined}
function serilizeUrl(url) {
var urlObject = {};
if (/\?/.test(url)) {
var urlString = url.substring(url.indexOf("?") + 1);
var urlArray = urlString.split("&");
for (var i = 0, len = urlArray.length; i < len; i++) {
var urlItem = urlArray[i];
// console.log(urlItem) // a=1
var item = urlItem.split("="); // ["a","1"]
console.log(item);
urlObject[item[0]] = item[1]; // 如果是最后一个 e 没有后面的值,他自动设置成 undefined
}
return urlObject;
}
return null;
}