var arr = [];
var str = `http://www.xxx.com/?name=bf&age=23&from=baidu`;
var k = str.split('?');
var l = k[1].split('&')
var z = [];
console.log(k);
console.log(l);
// 拆分数组 把数组l拆了
for (var i = 0; i < l.length; i++) {
z[i] = l[i].split('=');
}
// 数组z是双数组
for (var j = 0; j < z.length; j++) {
for (var p = 0; p < z[j].length; p++) {
console.log(z[j][p]);
}
// obj.cunchu = z[j][p];
}
console.log(obj);
你题目的解答代码如下:
var url = "http://www.xxx.com/?name=bf&age=23&from=baidu";
var obj = {};
var arr = url.split("?")[1].split("&");
for (var i = 0, len = arr.length; i < len; i++) {
var nv = arr[i].split("=");
obj[nv[0]] = nv[1];
}
console.log(obj);
如有帮助,望采纳!谢谢!
用正则编码匹配下压入键值对就行,代码如下
<script>
var str = `http://www.xxx.com/?name=bf&age=23&from=baidu&name=abc`;
var s = str.split('?').pop();//如果获取当前浏览器地址栏查询参数直接location.search.substring(1)就行
var kv = {};
var m, reg = /([^=&]+)=([^&]+)/gi;
while (m = reg.exec(s)) {
var key = m[1].toLowerCase();
if (kv[key]) kv[key] += "," + m[2]
else kv[key] = m[2];
}
alert(JSON.stringify(kv,null,2))
</script>
有帮助麻烦点下【采纳该答案】,谢谢~~
可能代码不是很严谨,非常抱歉!
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!