Skip to content
On this page

url

处理url中的参数

objectToUrlParams

示例代码
js
import { objectToUrlParams } from '@jsxiaosi/utils';

const params = {
  name: 'John',
  age: 30,
  tags: ['a', 'b', 'c'],
};

objectToUrlParams(params) // name=John&age=30&tags[]=a&tags[]=b&tags[]=c

参数:

参数说明类型默认值
params转换参数Record<string, any> / Array<any>
arrayFormat数组转换类型ArrayFormat'unnamed'

ArrayFormat:

参数说明
brackets使用方括号表示数组
indices使用数组索引表示数组
repeat重复键名表示数组
comma使用逗号分隔数组元素
unnamed生成无键名的参数

WARNING

如果params传递是纯数组,那么只会生效’unnamed‘类型

返回类型:string

appendUrlParams

示例代码
js
import { appendUrlParams } from '@jsxiaosi/utils';

const params = {
  name: 'John',
  age: 30,
  tags: ['a', 'b', 'c'],
};

appendUrlParams('https://github.com/jsxiaosi',params) 
// https://github.com/jsxiaosi?existingKey=existingValue&name=John&age=30&[]=a&[]=b&[]=c

参数:

参数说明类型默认值
urlurl地址string
params转换参数Record<string, any> / Array<any>
arrayFormat数组转换类型ArrayFormat'unnamed'

ArrayFormat:

参数说明
brackets使用方括号表示数组
indices使用数组索引表示数组
repeat重复键名表示数组
comma使用逗号分隔数组元素
unnamed生成无键名的参数

urlParamsToObject

示例代码
js
import { urlParamsToObject } from '@jsxiaosi/utils';

urlParamsToObject('https://github.com/jsxiaosi?name=John&age=30&tags[]=a&tags[]=b&tags[]=c') 
// { "name": "John", "age": "30", "tags": [ "a", "b", "c" ] }

参数:

参数说明类型默认值
queryStringurl地址/urlQuerystring

WARNING

如果URL参数中的数组数据是unnamed(无键名)类型的参数,并且url也包括其他值那么它会把unnamed(无键名)的数组放在对象中一个key名为$unnamedArray的属性中

示例

https://github.com/jsxiaosi?name=John&age=30&[]=a&[]=b&[]=c

转换后:

{ "name": "John", "age": 30, "$unnamedArray": [ "a", "b", "c" ] }

返回类型:Record<string, any> / Array<any>