CodShot
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: '',
});

Snippet actions

CodShot user
CodShot user
Updated: 2026-08-06 18:36
Public snippets
0
Forks
CodShot AI Help
Ask about CodShot features, plans, workspace, AI limits, referrals, and public help topics.
Hi! I can help you understand how CodShot works. What would you like to know?
For account-specific or sensitive issues, please open a support ticket. Open support