更新时间:2023-02-23 21:53:41
您可以使用reduce来做到这一点:
you can use reduce to do that:
var u='/AllItems.aspx?FilterName=FilterA&FilterMultiValue=*FilterASearchValue*&FilterName=FilterB&FilterMultiValue=*FilterBSearchValue*'
u.split(/[?&]/).reduce(function(a,b,c){
var p=b.split("="), k=p[0], v=decodeURIComponent(p[1]);
if(!p[1])return a;
a[k]=a[k]||[];
a[k].push(v);
return a;
}, {})
返回参数数组而不是字符串,从而允许重复使用相同名称的参数:
which returns an array of params instead of a string, allowing same-name params to repeat:
{
"FilterName": [
"FilterA",
"FilterB"
],
"FilterMultiValue": [
"*FilterASearchValue*",
"*FilterBSearchValue*"
]
}