简便写法:
function fn(url) {
let obj = {}
let arr = url.split('?')[1].split('&').forEach((item) => {
obj[item.split('=')[0]] = item.split('=')[1]
});
return obj
}
console.log(fn('https://www.baidu.com.?name=1&age=9&like=vue'));
结果:
//{name: '1', age: '9', like: 'vue'}
分步讲解:
在数组的操作方法里split是分割数组,所以
function fn(url) {
let obj = {}
let arr = url.split('?')
console.log(arr);
}
fn('https://www.baidu.com.?name=1&age=9&like=vue')
之后打印出来的就是
// ['https://www.baidu.com.', 'name=1&age=9&like=vue']
只取第二个字符串里的,并将&分割开:
function fn(url) {
let obj = {}
let arr = url.split('?')
console.log(arr);
let err = arr[1].split('&')
console.log(err);
}
fn('https://www.baidu.com.?name=1&age=9&like=vue')
打印出来后就是:
// ['name=1', 'age=9', 'like=vue']
后面将他变为对象形式,并返回出来:
function fn(url) {
let obj = {}
let arr = url.split('?')
console.log(arr);
let err = arr[1].split('&')
console.log(err);
err.forEach(item => {
obj[item.split('=')[0]] = item.split('=')[1]
});
return obj
}
console.log(fn('https://www.baidu.com.?name=1&age=9&like=vue'));
打印出来后:
//{name: '1', age: '9', like: 'vue'}
版权声明:本文为xk2031510love原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。