URLSearchParams: delete() 方法

注意:此功能在 Web 工作线程 中可用。

delete() 方法是 URLSearchParams 接口的方法,用于从所有搜索参数列表中删除指定的参数及其关联的值。

参数名称和可选值用于匹配参数。如果只指定参数名称,则删除与该名称匹配的所有搜索参数及其关联的值。如果同时指定参数名称和值,则删除与参数名称和值都匹配的所有搜索参数。

语法

js
delete(name)
delete(name, value)

参数

name

要删除的参数的名称。

value 可选

参数必须与给定名称一起匹配的值,以供删除。

返回值

无 (undefined).

示例

删除所有具有指定名称的参数

此示例演示如何删除所有具有特定名称的查询参数(以及值)。

js
const url = new URL("https://example.com?foo=1&bar=2&foo=3");
const params = new URLSearchParams(url.search);
console.log(`Query string (before):\t ${params}`);
params.delete("foo");
console.log(`Query string (after):\t ${params}`);

下面的日志显示删除了所有名称为 foo 的参数。

Query string (before):  foo=1&bar=2&foo=3
Query string (after):   bar=2

删除具有指定名称和值的参数

此示例演示如何删除与特定名称和值匹配的查询参数。

js
const url = new URL("https://example.com?foo=1&bar=2&foo=3&foo=1");
const params = new URLSearchParams(url.search);
console.log(`Query string (before):\t ${params}`);
params.delete("foo", "1");
console.log(`Query string (after):\t ${params}`);

所有与参数 namevalue 都匹配的参数都应删除(如上所示,没有理由指定两个具有相同名称和值的参数)。

Query string (before):  foo=1&bar=2&foo=3&foo=1
Query string (after):   bar=2&foo=3

如果您的浏览器支持 value 选项,“after” 字符串应为 bar=2&foo=3。否则,结果将与上一个示例(bar=2)相同。

规范

规范
URL 标准
# dom-urlsearchparams-delete

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅