⊗jsSpHPUSP 222 of 294 menu

Bekerja dengan URLSearchParams di JavaScript

Seperti yang sudah Anda ketahui, saat bekerja dengan formulir dan permintaan GET di JavaScript, muncul string dengan bentuk seperti ini:

let paramsString = 'a=1&b=2&c=3';

Terkadang kita perlu mengubah nilai suatu parameter dari string ini secara terprogram. Menulis kode yang melakukan ini tidak terlalu nyaman. Oleh karena itu, JavaScript memiliki kelas khusus URLSearchParams untuk bekerja dengan string seperti ini.

Mari kita buat objek dari kelas ini dengan meneruskan string parameter kita sebagai parameternya:

let paramsString = 'a=1&b=2&c=3'; let searchParams = new URLSearchParams(paramsString);

Mari kita lihat metode apa saja yang dimiliki oleh objek yang telah dibuat.

Mendapatkan nilai parameter

Dengan menggunakan metode get, Anda bisa mendapatkan nilai parameter:

let res = searchParams.get('a'); console.log(res);

Mari kita coba mendapatkan nilai parameter yang tidak ada:

let res = searchParams.get('x'); console.log(res); // akan menampilkan null

Memeriksa keberadaan parameter

Dengan menggunakan metode has, Anda bisa memeriksa keberadaan parameter. Mari periksa parameter yang ada:

let res = searchParams.has('a'); console.log(res); // akan menampilkan true

Mari periksa parameter yang tidak ada:

let res = searchParams.has('x'); console.log(res); // akan menampilkan false

Mengubah menjadi string

Dengan menggunakan metode toString, Anda bisa mengubah objek kita kembali menjadi string:

let res = searchParams.toString(); console.log(res); // akan menampilkan 'a=1&b=2&c=3'

Mengubah parameter

Dengan menggunakan metode set, Anda bisa mengubah nilai parameter:

searchParams.set('b', 'x');

Mari kita periksa perubahannya:

let res = searchParams.toString(); console.log(res); // akan menampilkan 'a=1&b=x&c=3'

Menambahkan parameter

Dengan menggunakan metode set, Anda juga bisa menambahkan parameter baru:

searchParams.set('d', '4');

Mari kita periksa perubahannya:

let res = searchParams.toString(); console.log(res); // akan menampilkan 'a=1&b=2&c=3&d=4'

Menambahkan parameter

Dengan menggunakan metode append, Anda juga bisa menambahkan parameter baru:

searchParams.append('d', '4');

Mari kita periksa perubahannya:

let res = searchParams.toString(); console.log(res); // akan menampilkan 'a=1&b=2&c=3&d=4'

Mari kita coba menambahkan parameter yang sudah ada:

searchParams.append('a', '4');

Dalam hal ini, metode kita hanya akan menambahkan parameter bernama sama di akhir:

let res = searchParams.toString(); console.log(res); // akan menampilkan 'a=1&b=2&c=3&a=4'

Di sinilah perbedaan antara metode set dan append terlihat. Yang pertama akan mengubah parameter yang ada, sedangkan yang kedua hanya akan menambahkan duplikatnya di akhir.

Menghapus parameter

Dengan menggunakan metode delete, Anda bisa menghapus parameter:

searchParams.delete('b');

Mari kita periksa perubahannya:

let res = searchParams.toString(); console.log(res); // akan menampilkan 'a=1&c=3'

Iterasi parameter dengan perulangan

Parameter dapat diiterasi dengan perulangan:

for (let p of searchParams) { console.log(p); }

Beberapa parameter yang sama

Misalkan dalam string kita terdapat beberapa parameter yang sama:

let paramsString = 'a=1&a=2&b=2&c=3';

Dengan menggunakan metode getAll, Anda bisa mendapatkan array nilai dari parameter-parameter ini:

let res = searchParams.getAll('a'); console.dir(res); // akan menampilkan [1, 2]

Tugas praktis

Misalkan diberikan string dengan parameter berikut:

let paramsString = 'test1=param1&test2=param2&test3=param3';

Tambahkan satu parameter test3 lagi ke dalam string ini.

Hapus parameter test2 dari string ini.

Ubah parameter test1 menjadi nilai baru.

Indonesia
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan cookie untuk operasi situs, analitik, dan personalisasi. Pemrosesan data dilakukan sesuai dengan Kebijakan Privasi.
terima semua atur tolak