1234567891011121314151617181920212223242526 |
- // 字符串转params对象
- export const strToParams = (str: string) => {
- if (str[0] === '?') {
- str = str.substr(1)
- }
- const result: { [key: string]: string } = {}
- const splitRG = /([^=&]+)(?:=([^&]*))?&?/
- let rgRet
- while ((rgRet = str.match(splitRG))) {
- result[rgRet[1]] = rgRet[2] === undefined ? '' : rgRet[2]
- str = str.substr(rgRet[0].length)
- }
- return result
- }
- // 对象转params
- export const paramsToStr = (params: { [key: string]: string | boolean }) =>
- '?' +
- Object.keys(params)
- .filter(key => params[key] !== undefined)
- .map(key => `${key}${params[key] == false ? '' : `=${params[key]}`}`)
- .join('&')
|