⊗jsSpHPUSP 222 of 294 menu

Работа з URLSearchParams у JavaScript

Як вы ўжо ведаеце, пры работе з формамі і GET запытамі ў JavaScript узнікаюць радкі такіх выгляду:

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

Часам трэба праграмным чынам змяніць значэнне якого-небудзь параметра з гэтага радка. Пісаць код, які робіць гэта, не вельмі зручна. Таму ў JavaScript убудаваны спецыяльны клас URLSearchParams для работы з такімі радкамі.

Давайце створым аб'ект гэтага класа, перадаўшы параметрам наш радок з параметрамі:

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

Давайце паглядзім, якія метады ёсць у створанага аб'екта.

Атрыманне значэння параметра

З дапамогай метаду get можна атрымаць значэнне параметра:

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

Паспрабуем атрымаць значэнне неіснуючага параметра:

let res = searchParams.get('x'); console.log(res); // выведзе null

Праверка наяўнасці параметра

З дапамогай метаду has можна праверыць наяўнасць параметра. Праверым існуючы параметр:

let res = searchParams.has('a'); console.log(res); // выведзе true

Праверым неіснуючы:

let res = searchParams.has('x'); console.log(res); // выведзе false

Пераўтварэнне ў радок

З дапамогай метаду toString можна пераўтварыць наш аб'ект назад у радок:

let res = searchParams.toString(); console.log(res); // выведзе 'a=1&b=2&c=3'

Змяненне параметраў

З дапамогай метаду set можна змяніць значэнне параметра:

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

Праверым змены:

let res = searchParams.toString(); console.log(res); // выведзе 'a=1&b=x&c=3'

Даданне параметраў

З дапамогай метаду set можна таксама дадаць новы параметр:

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

Праверым змены:

let res = searchParams.toString(); console.log(res); // выведзе 'a=1&b=2&c=3&d=4'

Даданне параметраў

З дапамогай метаду append можна таксама дадаць новы параметр:

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

Праверым змены:

let res = searchParams.toString(); console.log(res); // выведзе 'a=1&b=2&c=3&d=4'

Давайце паспрабуем дадаць ужо існуючы параметр:

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

У гэтым выпадку наш метад проста дадасць аднайменны параметр у канец:

let res = searchParams.toString(); console.log(res); // выведзе 'a=1&b=2&c=3&a=4'

У гэтым праяўляецца розніца паміж метадамі set і append. Першы зменіць існуючы параметр, а другі проста дадасць яго дубль у канец.

Выдаленне параметраў

З дапамогай метаду delete можна выдаляць параметры:

searchParams.delete('b');

Праверым змены:

let res = searchParams.toString(); console.log(res); // выведзе 'a=1&c=3'

Перабор параметраў цыклам

Параметры можна перабіраць цыклам:

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

Некалькі аднолькавых параметраў

Хай у нашым радку некалькі аднолькавых параметраў:

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

З дапамогай метаду getAll можна атрымаць масіў значэнняў гэтых параметраў:

let res = searchParams.getAll('a'); console.dir(res); // выведзе [1, 2]

Практычныя задачы

Хай дана наступная радок з параметрамі:

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

Дадайце ў гэты радок яшчэ адзін параметр test3.

Выдаліце з гэтага радка параметр test2.

Змяніце параметр test1 на новае значэнне.

Беларуская
AfrikaansAzərbaycanБългарскиবাংলাČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мы выкарыстоўваем cookie для працы сайта, аналітыкі і персаналізацыі. Апрацоўка дадзеных адбываецца згодна Палітыкай канфідэнцыяльнасці.
прыняць усе наладзіць адхіліць