之前转都是采用split和join,过于麻烦
URLSearchParams 接口定义了一些实用的方法来处理 URL 的查询字符串,可以轻松转化
const url = 'var a = "http://xxx.com/previewPages?share_sn=134634739763557728&uuid=5a6961bd-5742-4e68-af45-fab2d61fe66&previewId=134665605407207044"';
const paramsString = url.split('?')[1]
const paramObj = Object.fromEntries(new URLSearchParams(paramsString));
console.log(paramObj)
运行结果
{
previewId: "134665605407207044\"",
share_sn: "134634739763557728",
uuid: "5a6961bd-5742-4e68-af45-fab2d61fe66"
}
如果你的场景是仅仅取查询字符串中的某一个值,根据值不同做特殊处理,利用URLSearchParams.get(),能轻松处理这类场景
const src = "https://codepen.io/pen?&editors=001&a=90&b=23";
const paramsString = new URLSearchParams(src);
const b = paramsString.get("editors")
console.log(b)//001