# 查询参数
常用的参数处理相关的函数
# parseParams
- 参数:
{String} value 查询字符串
{Object} options 配置项
{Boolean} decode 是否解码键名和键值
{String} arrayFormat 数组的表现形式
bracket
中括号index
索引comma
逗号separator
自定义分隔符none
重复键(默认值)
{String} arrayFormatSeparator 当 arrayFormat 为 separator 时的分隔符
{Boolean} parseNumbers 是否将字符串的数字转为数字
{Boolean} parseBooleans 是否将字符串的布尔值转为布尔值
- 返回值:
{Object}
- 说明:将查询字符串转为对象
- 示例:
parseParams('name=alex&age=18&date=2019-08-10')
// 返回:
{
age: "18",
date: "2019-08-10",
name: "alex"
}
parseParams('name=alex&name=lucy&name=jack')
// 返回:
{
name: ['alex', 'lucy', 'jack']
}
parseParams('name[]=alex&name[]=lucy&name[]=jack', { arrayFormat: 'bracket' })
// 返回:
{
name: ['alex', 'lucy', 'jack']
}
parseParams('name[0]=alex&name[1]=lucy&name[2]=jack', { arrayFormat: 'index' })
// 返回:
{
name: ['alex', 'lucy', 'jack']
}
parseParams('name=alex,lucy,jack', { arrayFormat: 'comma' })
// 返回:
{
name: ['alex', 'lucy', 'jack']
}
parseParams('name=alex|lucy|jack', { arrayFormat: 'separator', arrayFormatSeparator: '|' })
// 返回:
{
name: ['alex', 'lucy', 'jack']
}
parseParams('name=alex&age=18', { parseNumbers: true })
// 返回:
{
age: 18,
name: "alex"
}
parseParams('name=alex&female=true', { parseBooleans: true })
// 返回:
{
female: true,
name: "alex"
}
# stringifyParams
- 参数:
{Object} value 查询对象
{Object} options 配置项
{Boolean} encode 是否编码键名和键值
{String} arrayFormat 同 parseParams 方法
{String} arrayFormatSeparator 同 parseParams 方法
{Boolean} skipNull 是否跳过值为 null 的项
{Boolean} skipEmptyString 是否跳过值为空字符串的项
- 返回值:
{String}
- 说明:将对象转为查询字符串
- 示例:
stringifyParams({ name: '团结', age: 20 }) // name=%E5%9B%A2%E7%BB%93&age=20
# parseURL
- 参数:
{String} value 查询字符串
{Object} options 配置项同 parseParams
- 返回值:
{Object}
- 说明:将 URL 和查询字符串转为对象
- 示例:
parseURL('http://fe.packages.com/login?name=alex&password=123456')
// 返回:
{
"url": "http://fe.packages.com/login",
"query": {
"name": "alex",
"password": "123456"
}
}
# stringifyURL
- 参数:
{Object} value 查询对象
{Object} options 配置项同 stringifyParams
- 返回值:
{String}
- 说明:将对象转为 URL 和查询字符串
- 示例:
stringifyURL({
url: 'http://fe.packages.com/login',
query: {
name: 'alex',
password: '123456'
}
})
// http://fe.packages.com/login?name=alex&password=123456