手写解析 url 参数.md
获取 url 里的参数并转成对象
思路:
- 声明对象 obj = {}
- 正则匹配
/(^?&=)=(^?&)/g
- replace 替换
obj[arguments[1]] = arguments[2]
function getUrlParams(url) {
const obj = {}
/**
* 正则
* (^?&=) 匹配所有非 ? & = 数据
* = 等号 匹配所有=
* (^?&=) 匹配所有非 ? & = 数据
*/
const reg = /(^?&=)=(^?&=)/g
url.replace(reg,() => {
obj[arguments[1]] = arguments[2]
})
return obj
}
使用方法:
let url = 'https://www.junjin.cn?a=1&b=2'
console.log(getUrlParams(url))
// { a: 1, b: 2 }