JavaScript
Public
URLSearchParams Filter State
Read, update, and remove page filters without manually concatenating query strings.
#javascript
#urlsearchparams
#filter
#frontend
JavaScript
function updateFilters(changes) {
const url = new URL(window.location.href);
Object.entries(changes).forEach(([key, value]) => {
const normalizedValue = String(value ?? '').trim();
if (normalizedValue === '') {
url.searchParams.delete(key);
return;
}
url.searchParams.set(key, normalizedValue);
});
url.searchParams.set('page', '1');
window.history.replaceState(
{},
'',
`${url.pathname}?${url.searchParams.toString()}`,
);
}
updateFilters({
search: 'react',
category: 'frontend',
status: '',
});