面试碰到这个问题,我按照这个思路写的方案,他最后让我回去再看看,我想问下,还有什么更好的实现方式么?var url = "http://www.xxxx.com/index.html?keya=a&b=b&c=c"; function parseQueryString(argu){ var str = argu.split('?')[1]; var result = {}; var temp = str.split('&'); temp.forEach(function(item){ var temp2 = item.split('='); result[temp2[0]] = temp2[1]; }) return result;}console.log(parseQueryString(url))
3 回答
牛魔王的故事
TA贡献1830条经验 获得超3个赞
“让我回去再看看”,怕是少了个 decodeURIComponent?
书上有一段:
function urlArgs() {
var args = {}
var query = location.search.substring(1)
var pairs = query.split("&")
for (var i = 0; i < pairs.length; i++) {
var pos = pairs[i].indexOf("=")
if (pos == -1) continue
var name = pairs[i].substring(0, pos)
var value = pairs[i].substring(pos + 1)
value = decodeURIComponent(value)
args[name] = value
}
return args
}
添加回答
举报
0/150
提交
取消
