URLSearchParams: delete() 方法

Baseline 廣泛可用 *

此功能已成熟,並可在許多裝置和瀏覽器版本上使用。自 2020 年 9 月起,所有瀏覽器均已提供此功能。

* 此特性的某些部分可能存在不同級別的支援。

注意:此功能在 Web Workers 中可用。

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);
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

瀏覽器相容性

另見