1.只传递一个参数url
function getUrlParams(url) {
const params = {};
const queryString = url.split('?')[1] || '';
if (!queryString) {
return params;
}
const pairs = queryString.split('&');
return pairs.reduce((acc, pair) => {
const [key, value] = pair.split('=');
acc[decodeURIComponent(key)] = decodeURIComponent(value || '');
return acc;
}, params);
}
// 示例用法
const url = 'https://example.com/?name=JohnDoe&age=25&city=NewYork';
const params = getUrlParams(url);
console.log(params);
// 输出: { name: 'JohnDoe', age: '25', city: 'NewYork' }
2. 传递两个参数,(url,id)
function getUrlParam(url, id) {
const queryString = url.split('?')[1] || '';
if (!queryString) {
return null;
}
const pairs = queryString.split('&');
const params = pairs.reduce((acc, pair) => {
const [key, value] = pair.split('=');
acc[decodeURIComponent(key)] = decodeURIComponent(value || '');
return acc;
}, {});
return params[id] || null;
}
// 示例用法
const url = 'https://example.com/?name=JohnDoe&age=25&city=NewYork';
const id = 'city';
const paramValue = getUrlParam(url, id);
console.log(paramValue); // 输出: 'NewYork'