Bagaimana untuk menggunakan URLSearchParams untuk memadamkan salah satu daripada berbilang pasangan nilai kunci dengan kunci yang sama?
P粉214089349
P粉214089349 2023-12-30 23:40:07
0
2
541

Saya mempunyai URL borang: https://www.example.com?tag[]=mountain&tag[]=hill&tag[]=pimple

Sekarang saya mahu memadamkan salah satu daripadanya, dengan mengandaikan fungsi tag[]=hill。我知道,我可以使用正则表达式,但我使用 URLSearchParams 来添加这些,所以我也想用它来删除它们。不幸的是 delete() akan memadam semua pasangan dengan kunci yang sama.

Adakah terdapat cara untuk memadam hanya pasangan nilai kunci tertentu?

P粉214089349
P粉214089349

membalas semua(2)
P粉904450959

Anda juga boleh menambahkannya pada prototaip URLSearchParams supaya anda sentiasa boleh menggunakannya dengan mudah dalam kod anda.

URLSearchParams.prototype.remove = function(key, value) {
    const entries = this.getAll(key);
    const newEntries = entries.filter(entry => entry !== value);
    this.delete(key);
    newEntries.forEach(newEntry => this.append(key, newEntry));
}

Kini anda boleh mengalih keluar pasangan nilai kunci tertentu daripada URLSearchParams seperti ini:

searchParams.remove('tag[]', 'hill');
P粉725827686

Lakukan sesuatu seperti ini:

const tags = entries.getAll('tag[]').filter(tag => tag !== 'hill');
entries.delete('tag[]');
for (const tag of tags) entries.append('tag[]', tag);
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan