The delete()
method of the URLSearchParams
interface deletes specified parameters and their associated value(s) from the list of all search parameters.
A parameter name and optional value are used to match parameters. If only a parameter name is specified, then all search parameters that match the name are deleted, along with their associated values. If both a parameter name and value are specified, then all search parameters that match both the parameter name and value are deleted.
delete(name)
delete(name, value)
This example shows how to delete all query parameters (and values) that have a particular name.
const url = new URL("https://example.com?foo=1&bar=2&foo=3");
const params = new URLSearchParams(url.search);
log(`Query string (before):\t ${params}`);
params.delete("foo");
log(`Query string (after):\t ${params}`);
The log below shows that all parameters that have the name of foo
are deleted.
This example shows how to delete query parameters that match a particular name and value.
const url = new URL("https://example.com?foo=1&bar=2&foo=3&foo=1");
const params = new URLSearchParams(url.search);
log(`Query string (before):\t ${params}`);
params.delete("foo", "1");
log(`Query string (after):\t ${params}`);
All parameters that match both the parameter name
and value
should be deleted (there is no reason to specify two parameters with the same name and value as shown above).
If your browser supports the value
option, the "after" string should be bar=2&foo=3
. Otherwise the result will be the same as in the previous example (bar=2
).