可以通过传统遍历或者正则来解决。
正则
//1.正则
function getUrlParams(url) {
let reg = /([^?&=]+)=([^?&=]+)/g;
let obj = {};
url.replace(reg, function () {
obj[arguments[1]] = arguments[2]
})
return obj
}
//测试
let url = 'https://www.baidu.com?a=asd&bb=zxc&123321=1'
console.log(getUrlParams(url));
传统方式
2.传统方法
function getUrlParams(url) {
let index = url.indexOf('?');
let temp = url.slice(index + 1);
let arr = temp.split('&');
let obj = {};
for (let i = 0; i < arr.length; i++) {
let num = arr[i].indexOf('=');
obj[arr[i].slice(0, num)] = arr[i].slice(num + 1)
}
return obj;
}
//测试
let url = 'https://www.baidu.com?a=asd&bb=zxc&123321=1'
console.log(getUrlParams(url));
记录记录!