将 url 参数解析为 JS 对象
还是比如:http://localhost/test/test.html?a=100&b=200#c=300
js
// 传统方式,分析 search
function queryToObj() {
const res = {};
// 去掉前面的 '?'
const search = location.search.substr(1);
search.split('&').forEach((str) => {
const arr = str.split('=');
res[arr[0]] = arr[1];
});
return res;
}
console.log(queryToObj()); // {a: "100", b: "200"}
高级 API 方法
js
// 使用 URLSearchParams
function searchToObj() {
const res = {};
const pList = new URLSearchParams(location.search);
pList.forEach((val, key) => {
res[key] = val;
});
return res;
}
console.log(searchToObj()); // {a: "100", b: "200"}