JavaScript-da URLSearchParams bilan ishlash
Siz bilan allaqachon ma'lumki, JavaScript-da shakllar va GET so'rovlari bilan ishlashda quyidagi ko'rinishdagi satrlar hosil bo'ladi:
let paramsString = 'a=1&b=2&c=3';
Ba'zan ushbu satrdan ma'lum bir parametrning qiymatini dasturiy
usulda o'zgartirish talab qilinadi.
Buni amalga oshiradigan kod yozish unchalik
qulay emas. Shuning uchun JavaScript-da shunday satrlar
bilan ishlash uchun maxsus URLSearchParams klassi mavjud.
Keling, ushbu klassning ob'ektini yarataylik, unga parametrlar satrini parametr sifatida berib:
let paramsString = 'a=1&b=2&c=3';
let searchParams = new URLSearchParams(paramsString);
Keling, yaratilgan ob'ektda qanday metodlar mavjudligini ko'rib chiqaylik.
Parametr qiymatini olish
get metodi yordamida
parametrning qiymatini olish mumkin:
let res = searchParams.get('a');
console.log(res);
Keling, mavjud bo'lmagan parametrning qiymatini olishga harakat qilaylik:
let res = searchParams.get('x');
console.log(res); // null chiqadi
Parametr mavjudligini tekshirish
has metodi yordamida
parametr mavjudligini tekshirish mumkin. Mavjud parametrni teksiramiz:
let res = searchParams.has('a');
console.log(res); // true chiqadi
Mavjud bo'lmaganini teksiramiz:
let res = searchParams.has('x');
console.log(res); // false chiqadi
Satrga aylantirish
toString metodi yordamida
ob'ektimizni qaytadan satrga aylantirish mumkin:
let res = searchParams.toString();
console.log(res); // 'a=1&b=2&c=3' chiqadi
Parametrlarni o'zgartirish
set metodi yordamida parametrning
qiymatini o'zgartirish mumkin:
searchParams.set('b', 'x');
O'zgarishlarni teksiramiz:
let res = searchParams.toString();
console.log(res); // 'a=1&b=x&c=3' chiqadi
Parametr qo'shish
set metodi yordamida yangi
parametr ham qo'shish mumkin:
searchParams.set('d', '4');
O'zgarishlarni teksiramiz:
let res = searchParams.toString();
console.log(res); // 'a=1&b=2&c=3&d=4' chiqadi
Parametr qo'shish
append metodi yordamida ham
yangi parametr qo'shish mumkin:
searchParams.append('d', '4');
O'zgarishlarni teksiramiz:
let res = searchParams.toString();
console.log(res); // 'a=1&b=2&c=3&d=4' chiqadi
Keling, allaqachon mavjud bo'lgan parametrni qo'shishga harakat qilaylik:
searchParams.append('a', '4');
Bunda bizning metod shunchaki bir xil nomdagi parametrni oxiriga qo'shadi:
let res = searchParams.toString();
console.log(res); // 'a=1&b=2&c=3&a=4' chiqadi
Bu yerda set va append
metodlari orasidagi farq namoyon bo'ladi.
Birinchi mavjud parametrni o'zgartiradi,
ikkinchisi esa uning dublikatini oxiriga qo'shadi.
Parametrlarni o'chirish
delete metodi yordamida
parametrlarni o'chirish mumkin:
searchParams.delete('b');
O'zgarishlarni teksiramiz:
let res = searchParams.toString();
console.log(res); // 'a=1&c=3' chiqadi
Parametrlarni sikl bilan aylantirish
Parametrlarni sikl bilan aylantirish mumkin:
for (let p of searchParams) {
console.log(p);
}
Bir nechta bir xil parametrlar
Faraz qilaylik, bizning satrimizda bir nechta bir xil parametrlar mavjud:
let paramsString = 'a=1&a=2b=2&c=3';
getAll metodi yordamida ushbu
parametrlarning qiymatlari massivini olish mumkin:
let res = searchParams.getAll('a');
console.dir(res); // [1, 2] chiqadi
Amaliy vazifalar
Faraz qilaylik, quyidagi parametrlar satri berilgan:
let paramsString = 'test1=param1&test2=param2&test3=param3';
Ushbu satrga yana bir test3 parametrini qo'shing.
Ushbu satrdan test2 parametrini o'chiring.
test1 parametrini yangi qiymatga o'zgartiring.