你可以使用以下的 JavaScript 代码将 URL 中的键值对生成为对象:
function parseURLParams(url) {
var params = {};
var paramStr = url.split("?")[1];
if (paramStr) {
var paramArr = paramStr.split("&");
for (var i = 0; i < paramArr.length; i++) {
var pair = paramArr[i].split("=");
var key = decodeURIComponent(pair[0]);
var value = decodeURIComponent(pair[1]);
if (params[key]) {
params[key] = Array.isArray(params[key]) ? params[key] : [params[key]];
params[key].push(value);
} else {
params[key] = value;
}
}
}
return params;
}
// 示例用法
var url = "http://example.com/?name=John&age=25&hobbies=reading&hobbies=singing";
var paramsObj = parseURLParams(url);
console.log(paramsObj);
以上代码会将 URL 参数解析为一个对象,例如:
{
name: "John",
age: "25",
hobbies: ["reading", "singing"]
}
请注意,如果 URL 中存在相同键名的参数,代码会自动将其转换为数组形式。
内容由零声教学AI助手提供,问题来源于学员提问




