url.URLSearchParams 定义了一些实用的方法处理 URL 的查询字符串。
构造函数
通过 new 进行对象实例创建,如下所示:
new URLSearchParams(params: string): URLSearchParams
参数
参数 | 类型 | 描述 |
params | string | 查询字符串 |
方法
方法 | 返回类型 | 描述 |
void | 增加指定的键/值对作为搜索参数 | |
void | 删除搜索参数列表指定的键及其对应的值 | |
string[][] | 获取查询参数中所有的键值对 | |
void | 通过回调函数遍历 URLSearchParams 上的所有键值对 | |
null 或 string | 获取指定搜索参数对应的第一个值 | |
string[] | 获取指定搜索参数对应的所有值 | |
boolean | 判断是否存在该键对应的搜索参数 | |
string[] | 获取搜索参数中所有的键名 | |
void | 设置新的搜索参数,如果原来有该键值则覆盖 | |
string | 获取搜索参数组成的字符串,可直接使用于 URL | |
string[] | 获取搜索参数中所有的值 |
样例
构造实例并进行操作:
import url from 'pts/url';export default function() {const params = new url.URLSearchParams('key1=value1&key2=value2');// 调用 appendparams.append('key3', 'value3');console.log(params.toString()); // key1=value1&key2=value2&key3=value3// 调用 deleteparams.delete('key3');console.log(params.toString()); // key1=value1&key2=value2// 调用 entries// key1, value1// key2, value2for(var pair of params.entries()) {console.log(pair[0]+ ', '+ pair[1]);}// 调用 forEach// value1, key1, [object Object]// value2, key2, [object Object]params.forEach(function(value, key, searchParams) {console.log(value, ', ', key, ', ', searchParams);});// 调用 getconsole.log(params.get('key1')); // value1console.log(params.get('key3')); // null// 调用 getAllparams.append('key1', 1);console.log(params.getAll('key1')); // value1,1// 调用 hasconsole.log(params.has('key1')); // trueconsole.log(params.has('key3')); // false// 调用 keysconsole.log(params.keys()); // key1,key2// 调用 setparams.set('key3', 'value3');params.set('key1', 'value1');// key1, value1// key2, value2// key3, value3for(var pair of params.entries()) {console.log(pair[0]+ ', '+ pair[1]);}// 调用 toStringconsole.log(params.toString()); // key1=value1&key2=value2&key3=value3// 调用 valuesconsole.log(params.values()); // value1,value2,value3}