Gunnar Bittersmann: URLSearchParams filtern

Beitrag lesen

Hi, ich möchte aus URLSearchParams nur diejenigen Einträge haben, deren Keys mit einem bestimmten Präfix beginnen.

const url = "https://example.net?a=1&b=2&c=3&pre_d=4&pre_e=5";

const urlObject = new URL(url);
const searchParams = urlObject.searchParams;

searchParams.forEach((value, key) => {
	console.debug("key", key);
	if (!key.startsWith("pre_")) {
		searchParams.delete(key);
	}
});

console.debug("result", searchParams.toString());

// console output:
// "key" "a"
// "key" "c"
// "key" "pre_e"
// "result" "b=2&pre_d=4&pre_e=5"

(Codepen)

In der Schleife werden gar nicht alle Keys geprüft; b und pre_d fehlen.

Warum ist das so und was muss ich dagegen tun?

Jolan tru

--
Wenn der Faschismus wiederkehrt, wird er nicht sagen „Hallo, ich bin der Faschismus.“ Er wird sagen: „Ich suche in diesem Deutschen Bundestag keine anderen Mehrheiten als die in der demokratischen Mitte. Wenn es heute eine solche Mehrheit gegeben hat, bedauere ich das.“ (Friedrich Merz)

akzeptierte Antworten