Hallo,
weil du mit forEach immer direkt am Object arbeitest. Ich habe es mir inzwischen abgewöhnt, mit forEach zu arbeiten, da man schnell den Überblick verliert, ob und wie es die nachfolgende Iteration beeinflusst.
Um sicherzustellen, dass alle keys durchlaufen werden, erstelle vorher ein Array mit den keys. Zum Beispiel:
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].map(([key,]) => {
console.debug('key', key);
if (!key.startsWith('pre_')) {
searchParams.delete(key);
}
});
console.debug('result', searchParams.toString());
Gruß Michael