@zstings/utils
Version:
javascript、typescript 工具函数库 文档地址 [utils 文档](https://zstings.github.io/utils/)
35 lines (34 loc) • 1.35 kB
TypeScript
/**
* 修改url上的参数
* @param option.search 对象 用于修改search部分的数据, 非必填
* @param option.hash 对象 用于修改hash部分的数据, 非必填
* @param url url地址,默认window.location.href, 非必填
* @throws 参数错误, 应该传入一个对象 option不是对象时触发
* @throws search 参数错误, 应该传入一个对象 option不是对象时触发
* @throws hash 参数错误, 应该传入一个对象 option不是对象时触发
* @throws url 参数错误,不是有效的
* @return 修改后的url地址
* @category URL
* @example
* 修改search中的值
* ```ts
* reviseUrlQuery({search: {a: '2', b: '3'}}, 'http://a.b.com/?a=1&b=2#/index/?c=3&b=4')
* // => 'http://a.b.com/?a=2&b=3#/index/?c=3&b=4'
* ```
* @example
* 修改hash中的值
* ```ts
* reviseUrlQuery({hash: {c: '2', b: '3'}}, 'http://a.b.com/?a=1&b=2#/index/?c=3&b=4')
* // => 'http://a.b.com/?a=1&b=2#/index/?c=2&b=3'
* ```
* @example
* 修改search、hash中的值
* ```ts
* reviseUrlQuery({search: {a: '5', b: '6'}, hash: {c: '7', b: '8'}}, 'http://a.b.com/?a=1&b=2#/index/?c=3&b=4')
* // => 'http://a.b.com/?a=5&b=6#/index/?c=7&b=8'
* ```
*/
export default function reviseUrlQuery(option: {
search?: Record<string, any>;
hash?: Record<string, any>;
}, url?: string): string;