题目:
已知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}。
分析:截取问号后的字符串,按‘&’间隔拆分,再按‘=’拆分,再分情况判断。
代码:
var url='http://item.taobao.com/item.htm?a=1&b=2&c=&d=xxx&e' function nameAndValue(url){ url=url.split('?')[1]; var group=url.split('&'); var res={} for(var i=0;i<group.length;i++){ start=group[i].indexOf('='); if(start!=-1){ name=group[i].slice(0,start) value=group[i].slice(start+1,group[i].length) res[name]=value; }else{ res[group[i]]=undefined; } } console.log(res) } nameAndValue(url);