正则匹配解析Url参数【如: /search/u1s2s3q4k2】
分享一个方法,用来解析url参数,常用在筛选页面。
url:/search/u1s2s3q4k2需求把 u1s2s3q4k2解析成一个参数对象{ k : [ '2' ] , q : [ '4' ] , s : [ '2' , '3' ] , u : [ '1' ] }
方法如下:
let url
= u1s2s3q4k2
let obj
= url
.match(/[a-z]+\d+/g)
.map((e
) => e
.split(/(?=(\d+)$)/))
.reduce((a
, [k
, v
]) => {
a
[k
] || (a
[k
] = []);
a
[k
].push(v
);
return a
;
}, {});
console
.log(obj
)