1.38.0removeQueryParam
یک پارامتر query مشخص را از URL یا query string حذف میکند و بخش hash را حفظ میکند.
removeQueryParam(url, key):stringحفظ Hash
تابع ابتدا بخش hash را از URL جدا میکند، query را پردازش میکند و سپس همان hash را به نتیجه اضافه میکند.
پردازش Query
بخش query با URLSearchParams پردازش میشود و کلید مشخصشده با استفاده از delete() حذف میشود.
پشتیبانی از URL و Query String
تابع هم رشتههای شبیه URL و هم query stringها را پردازش میکند. اگر علامت سؤال وجود نداشته باشد و ورودی شامل slash نباشد، ورودی مستقیماً بهعنوان query در نظر گرفته میشود.
Query خالی
هنگام حذف آخرین پارامتر query، علامت سؤال حذف میشود و query خالی باقی نمیماند. در صورت وجود، hash همچنان حفظ میشود.
کلیدهای تکراری
تمام مقادیر مرتبط با کلید مشخصشده توسط URLSearchParams.delete() حذف میشوند.
پارامترها
urlstringالزامیURL، query string یا رشتهای شبیه URL که باید پارامتر موردنظر از آن حذف شود.
keystringالزامینام پارامتر query که باید حذف شود.
مقدار بازگشتی
stringURL یا query string را با حذف پارامتر مشخصشده و حفظ بخش hash برمیگرداند.
مثالها
حذف پارامتر از URL
یک پارامتر query را حذف میکند و باقی URL را حفظ میکند.
import { removeQueryParam } from "@cyref/js";
removeQueryParam(
"https://example.com/products?page=2&sort=latest",
"page",
);
// "https://example.com/products?sort=latest"حذف تنها پارامتر
اگر پارامتر حذفشده تنها پارامتر query باشد، علامت سؤال نیز حذف میشود.
removeQueryParam(
"https://example.com/products?page=2",
"page",
);
// "https://example.com/products"حفظ Hash
هنگام حذف پارامتر query، بخش hash حفظ میشود.
removeQueryParam(
"https://example.com/products?page=2#details",
"page",
);
// "https://example.com/products#details"ورودی Query String
یک query string بدون مسیر URL نیز میتواند پردازش شود.
removeQueryParam("?page=2&sort=latest", "page");
// "?sort=latest"
removeQueryParam("?page=2", "page");
// ""پارامترهای تکراری
تمام نمونههای کلید مشخصشده حذف میشوند، زیرا URLSearchParams.delete() تمام مقادیر مرتبط با آن کلید را حذف میکند.
removeQueryParam(
"https://example.com?tag=js&tag=ts&sort=latest",
"tag",
);
// "https://example.com?sort=latest"