我使用以下代碼(藉助此post)刪除包含「全部」的查詢字符串參數?基於可變參數值刪除查詢字符串部分
事實證明:
https://www.foobar.com/page?year=all&language=all&gender=female 到 https://www.foobar.com/page?gender=female
如何修改,而不是使用 「/所有/」 一個變量的代碼?我希望能夠輕鬆切換出要刪除的參數。
現有代碼(工作但沒有變量):
let src = "https://www.foobar.com/page?year=all&language=all&gender=female";
let url = new URL(src);
let re = /all/;
let props = [...new URLSearchParams(url.search)]
.filter(([key, prop]) => !re.test(prop));
url = url.origin + url.pathname;
let params = new URLSearchParams();
props.forEach(([key, prop]) => params.set(key, prop));
url += "?" + params.toString();
新的代碼(不工作)
let parametervariable = "/somefoovariable/";
let src = "https://www.foobar.com/page?year=all&language=all&gender=female";
let url = new URL(src);
let re = parametervariable;
let props = [...new URLSearchParams(url.search)]
.filter(([key, prop]) => !re.test(prop));
url = url.origin + url.pathname;
let params = new URLSearchParams();
props.forEach(([key, prop]) => params.set(key, prop));
url += "?" + params.toString();
variable):**
新的代碼提供了以下錯誤:「遺漏的類型錯誤:重.test不是函數「
什麼是變量?加入了 – guest271314
@ guest271314。 – Sam
您可以使用'RegExp'構造函數 – guest271314