Тут два вопроса в одном.
Первый – получить параметры запроса и удалить из них искомый. Это работа с апи
URL и
searchParams - там есть метод
delete()
для удаления параметра. В итоге из URL получим новую адресную строку без лишнего параметра.
Второй – заменить адресную строку, не перегружая страницу. Это
работа с history API и методом
pushState(), то что вовсю используется в одностраничных сайтах. Как бы переходишь по страницам, адрес меняется, но на деле страница не перегружается, а изменяется динамически.
const url = new URL(document.location);
const searchParams = url.searchParams;
searchParams.delete("test"); // удалить параметр "test"
window.history.pushState({}, '', url.toString());