url 解析

实现一个方法,拆解URL参数中queryString

const url = 'http://sample.com/?a=1&b=2&c=xx&d=2#hash';

const result = { a: '1', b: '2', c: 'xx', d: 2 };

常规解法

const dismantle = (url) => {
const aimUrl = url.split('?').pop().split('#').shift().split('&');
const res = {};
aimUrl.forEach(item => {
const [key, val] = item.split('=');
res[key] = val;
});
return res;
}

正则快速解法

const getUrlParams = (url)=>{
const obj = {}
url.replace(/([?&]+)=([&#]+)/g, (, k, v) => {
console.log(
,k,v)
obj[k] = v
})
return obj
}

replace参数详解,也可看下打印结果帮助理解

posted @ 2020-06-30 15:12  萝卜爱吃青菜  阅读(259)  评论(0)    收藏  举报