URLSearchParams:delete() 方法

备注: 此特性在 Web Worker 中可用。

URLSearchParams 接口的 delete() 方法从所有查询参数的列表中删除指定的参数及其关联值。

一个参数名称和可选值用于匹配参数。如果指定了一个参数名称,则会删除所有与该名称匹配的查询参数及其关联值。如果同时指定了参数名称和值,则会删除所有与参数名称和数值匹配的查询参数。

语法

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);
log(`查询参数(删除前):${params}`);
params.delete("foo");
log(`查询参数(删除后):${params}`);

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

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

此示例显示如何删除具有特定的名称和值的查询参数。

js
const url = new URL("https://example.com?foo=1&bar=2&foo=3&foo=1");
const params = new URLSearchParams(url.search);
log(`查询参数(删除前):${params}`);
params.delete("foo", "1");
log(`查询参数(删除后):${params}`);

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

如果浏览器支持 value 选项,则“删除后”字符串应为 bar=2&foo=3。否则,结果将与前面的例子相同(bar=2)。

规范

Specification
URL Standard
# dom-urlsearchparams-delete

浏览器兼容性

BCD tables only load in the browser

参见