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.
メモ: この機能はウェブワーカー内で利用可能です。
delete()
は URLSearchParams
インターフェイスのメソッドで、すべての検索パラメーターのリストから、指定された検索パラメーターとそれに関連するすべての値を削除します。
パラメーター名とオプションの値は、パラメーターの照合に使用されます。 パラメーター名のみが指定された場合、その名前に一致するすべての検索パラメーターが、関連する値とともに削除されます。 パラメーター名と値の両方が指定された場合、パラメーター名と値の両方に一致するすべての検索パラメーターが削除されます。
構文
delete(name)
delete(name, value)
引数
返値
なし (undefined
)。
例
指定された名前のすべてのパラメーターを削除
この例では、特定の名前を持つクエリーパラメーター(および値)をすべて削除する方法を示します。
const url = new URL("https://example.com?foo=1&bar=2&foo=3");
const params = new URLSearchParams(url.search);
console.log(`クエリー文字列(変更前):\t ${params}`);
params.delete("foo");
console.log(`クエリー文字列(変更後):\t ${params}`);
以下のログは、foo
という名前を持つパラメーターがすべて削除されていることを示しています。
クエリー文字列(変更前): foo=1&bar=2&foo=3 クエリー文字列(変更後): bar=2
指定した名前と値を持つパラメーターの削除
この例では、特定の名前と値に一致するクエリーパラメーターを削除する方法を示します。
const url = new URL("https://example.com?foo=1&bar=2&foo=3&foo=1");
const params = new URLSearchParams(url.search);
console.log(`クエリー文字列(変更前):\t ${params}`);
params.delete("foo", "1");
console.log(`クエリー文字列(変更後):\t ${params}`);
パラメーターの name
と value
の両方が一致するパラメーターがすべて削除されるはずです(上記のように、同じ名前と値を持つパラメーターを 2 つ指定する理由はありません)。
クエリー文字列(変更前): foo=1&bar=2&foo=3&foo=1 クエリー文字列(変更後): bar=2&foo=3
ブラウザーが value
オプションに対応している場合、"after" の文字列は bar=2&foo=3
となります。
そうでない場合、結果は前の例 (bar=2
) と同じになります。
仕様書
Specification |
---|
URL Standard # dom-urlsearchparams-delete |
ブラウザーの互換性
BCD tables only load in the browser