函数parseQuery用于解析url查询参数。语法如下: var obj = parseQuery(query) query是被解析的查询参数,函数返回解析后的对象。使用范例如下: var jerry = parseQuery("name=jerry&age=1"); jerry; 返回值:{name: " jerry ", age: "1"} var tom = parseQuery("name= tom &age=12&gender&"); tom; 返回值:{name: "tom", age: "12", gender: ""}请写出函数parseQuery的实现代码。
2 回答
李晓健
TA贡献1036条经验 获得超461个赞
function parseQuery(str) {
var theRequest = {};
var strs = str.split("&");
for(var i = 0; i < strs.length; i ++) {
theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);
}
return theRequest;
}可以试一下
李晓健
TA贡献1036条经验 获得超461个赞
这个可用用字符串的split方法,第一次根据&符号来拆分,就可以得到一个数据
var arr = "name= tom &age=12&gender&".split('&')
//就可以得到以下
//['name= tom','age=12','gender']
//然后循环一次,再根据等号拆分一次,拆分后的就有两个值,第一个就是key,第二值就是val 。也可能会得到一个值,就比如最后一个 gender
然后有这些值就可拼成一个对象了。
//当然如果你的正则表达式很好的话,可以直接用正则表达式拆出来添加回答
举报
0/150
提交
取消
