Rumah > Soal Jawab > teks badan
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粉9044509592023-12-31 19:04:33
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粉7258276862023-12-31 13:27:11
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);