Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk menggunakan URLSearchParams untuk memadamkan salah satu daripada berbilang pasangan nilai kunci dengan kunci yang sama?

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粉214089349P粉214089349293 hari yang lalu459

membalas semua(2)saya akan balas

  • P粉904450959

    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');

    balas
    0
  • P粉725827686

    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);

    balas
    0
  • Batalbalas