abbott-methods
Version:
abbott,methods,method,functions,function
28 lines (27 loc) • 824 B
text/typescript
/**
* 将对象添加当作参数拼接到URL上面
* @param baseUrl 需要拼接的url
* @param obj 参数对象
* @returns {string} 拼接后的对象
* 例子:
* let obj = {a: '3', b: '4'}
* setObjToUrlParams('www.baidu.com', obj)
* ==>www.baidu.com?a=3&b=4
*/
export function urlStringSetObject(baseUrl: string, urlObject: Record<string | number | symbol, any>): string {
let parameters = ''
let url = ''
// 循环拼接参数
for (const key in urlObject) {
parameters += `${key}=${encodeURIComponent(urlObject[key])}&`
}
// 去掉最后一个&字符串
parameters = parameters.replace(/&$/, '')
// url是否以?结尾
if (/\?$/.test(baseUrl)) {
url = baseUrl + parameters
} else {
url = baseUrl.replace(/\/?$/, '?') + parameters
}
return url
}