⊗jsSpHPUSP 222 of 294 menu

URLSearchParams használata JavaScriptben

Mint azt már tudod, az űrlapokkal és GET kérésekkel dolgozva JavaScriptben gyakran előfordulnak ilyen formájú sztringek:

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

Időnként programozott módon kell megváltoztatnunk valamilyen paraméter értékét ebből a sztringből. Nem túl kényelmes kódot írni, ami ezt megteszi. Ezért a JavaScriptbe beépítettek egy speciális URLSearchParams osztályt az ilyen sztringek kezelésére.

Hozzunk létre egy objektumot ebből az osztályból, átadva paraméterként a paramétereinket tartalmazó sztringet:

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

Nézzük meg, milyen metódusai vannak a létrehozott objektumnak.

Paraméter értékének lekérése

A get metódussal lekérhetjük egy paraméter értékét:

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

Próbáljunk meg egy nem létező paraméter értékét lekérni:

let res = searchParams.get('x'); console.log(res); // kiírja: null

Paraméter jelenlétének ellenőrzése

A has metódussal ellenőrizhetjük egy paraméter jelenlétét. Ellenőrizzünk egy létező paramétert:

let res = searchParams.has('a'); console.log(res); // kiírja: true

Ellenőrizzünk egy nem létezőt:

let res = searchParams.has('x'); console.log(res); // kiírja: false

Átalakítás sztringgé

A toString metódussal az objektumunkat visszaalakíthatjuk sztringgé:

let res = searchParams.toString(); console.log(res); // kiírja: 'a=1&b=2&c=3'

Paraméterek módosítása

A set metódussal megváltoztathatjuk egy paraméter értékét:

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

Ellenőrizzük a változtatásokat:

let res = searchParams.toString(); console.log(res); // kiírja: 'a=1&b=x&c=3'

Paraméterek hozzáadása

A set metódussal új paramétert is hozzáadhatunk:

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

Ellenőrizzük a változtatásokat:

let res = searchParams.toString(); console.log(res); // kiírja: 'a=1&b=2&c=3&d=4'

Paraméterek hozzáadása

A append metódussal szintén hozzáadhatunk új paramétert:

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

Ellenőrizzük a változtatásokat:

let res = searchParams.toString(); console.log(res); // kiírja: 'a=1&b=2&c=3&d=4'

Próbáljunk meg hozzáadni egy már létező paramétert:

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

Ebben az esetben a metódusunk egyszerűen hozzáad egy azonos nevű paramétert a végéhez:

let res = searchParams.toString(); console.log(res); // kiírja: 'a=1&b=2&c=3&a=4'

Ebben nyilvánul meg a különbség a set és a append metódusok között. Az első módosítja a létező paramétert, míg a második egyszerűen hozzáad egy másolatot a végéhez.

Paraméterek törlése

A delete metódussal törölhetjük a paramétereket:

searchParams.delete('b');

Ellenőrizzük a változtatásokat:

let res = searchParams.toString(); console.log(res); // kiírja: 'a=1&c=3'

Paraméterek bejárása ciklussal

A paramétereket bejárhatjuk ciklussal:

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

Több azonos paraméter

Tegyük fel, hogy a sztringünkben több azonos paraméter van:

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

A getAll metódussal lekérhetjük ezen paraméterek értékeinek tömbjét:

let res = searchParams.getAll('a'); console.dir(res); // kiírja: [1, 2]

Gyakorlati feladatok

Legyen adott a következő paramétereket tartalmazó sztring:

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

Adjon hozzá ehhez a sztringhez még egy test3 paramétert.

Távolítsa el ebből a sztringből a test2 paramétert.

Módosítsa a test1 paramétert egy új értékre.

Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás