I wrap the href
to URL, and try to remove one component, remove with delete
, but component does not disappear. Do you know why?
let url = new URL(window.location.href); let p = url.searchParams['postId'+$(".selected").length]; delete p; window.location = url.toString();
I tried this:
const filteredItems = url.searchParams.filter(key => url.searchParams[key] == postID); let key = filteredItems.keys.first; url.searchParams.delete(key);
but it says
Uncaught TypeError: url.searchParams.filter is not a function
I tried now this expression, but filter
does not work, do you have any idea why?
function togglePost(postID) { let url = new URL(window.location.href); const filteredItems = Object.keys(url.searchParams).filter(key => url.searchParams[key] == postID ); let key = filteredItems.keys.first;
Advertisement
Answer
The delete
operator deletes properties from objects.
You are trying to delete a variable. This fails silently.
To delete something from a URLSearchParams object, use the delete
method:
let url = new URL('http://example.com/foo.cgi?a=1&b=2'); console.log(url.toString()); url.searchParams.delete('a'); console.log(url.toString());