1. 一个分割url的小案例
参照地址 :https://www.baidu?name=hehe&age=12&share=1
2.要求 :
1)获取 query的参数
2)返回对象
3.操作/ 思路 :
第一步 : 我们知道 query的参数是以 ? 开始拼接的 ,所以我们要 先 把 ?后面的截取
var url = "https://www.baidu?name=hehe&age=12&share=1"
//从 ? 开始 截取
url.split('?') // ['https://www.baidu', 'name=hehe&age=12&share=1']
第二步 : 我们要得到 ?后面的参数 , 分隔后得到的是数组
url.split('?')[1] // name=hehe&age=12&share=1
第三步: 从得到的数据里面 通过 ‘&’分割 得到每一项
url.split('?')[1].split('&') // ['name=hehe', 'age=12', 'share=1']
第四步 : 循环遍历 数组 把每一项添加到对象里
url.split('?')[1].split('&').forEach(item => {
// 对象添加值
obj[item.split('=')[0]] = item.split('=')[1]
})
4.封装函数
function getQuery(url) {
let obj = {}
url.split('?')[1].split('&').forEach(item => {
obj[item.split('=')[0]] = item.split('=')[1]
})
return obj
}
console.log(getQuery('https://www.baidu?name=hehe&age=12&share=1'));
//获取到当前的url
console.log(getQuery(location.href));
得到的结果 :