URLSearchParams:delete() 方法

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

* Some parts of this feature may have varying levels of support.

备注: 此特性在 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
# dom-urlsearchparams-delete

浏览器兼容性

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
delete
value parameter

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Partial support
Partial support
No support
No support
Has more compatibility info.

参见