JavaScript Set va Map

Massiv va obyekt ko’p vazifani bajaradi, lekin ikkita cheklovi bor: massivda takror qiymatlar bo’ladi, obyektda kalit faqat matn bo’la oladi. Set va Map shu bo’shliqni to’ldiradi.

Set — takrorlanmas to’plam

JavaScript

Takrorlar avtomatik tushib qoldi. size — elementlar soni (length emas).

Set amallari

JavaScript

To’rt asosiy metod: add, has, delete, clear.

Eng ko’p ishlatiladigan holat — takrorni olib tashlash

JavaScript

Massivni Set ga o’girib, spread bilan qaytarish — eng qisqa usul.

has tezligi

JavaScript

Farq katta: massiv har safar boshdan qidiradi, Set esa qiymatni to’g’ridan topadi. Ko’p marta “bormi?” deb so’raladigan joyda Set ishlating.

To’plam amallari

JavaScript

Map — istalgan turdagi kalit

JavaScript

Obyektda bu mumkin emas — u kalitni matnga aylantiradi:

JavaScript

Kalitlar matnga aylandi. Map esa turni saqlaydi.

Map amallari

JavaScript

Map bo’ylab yurish

JavaScript

Map to’g’ridan-to’g’ri for...of bilan ishlaydi va har element [kalit, qiymat] juftligi bo’ladi — destructuring bilan ajratiladi.

Obyektda esa Object.entries kerak bo’lardi.

Amaliy misol — sanash

JavaScript

?? operatori birinchi uchrashda 0 beradi — nullish operatori shu yerda qulay.

Qaysi birini tanlash

Vazifa Tanlov
Tartiblangan ro’yxat, indeks kerak Massiv
Takrorsiz qiymatlar, tez has Set
Matn kalitli sozlama, JSON Obyekt
Istalgan turdagi kalit, tez-tez qo’shish/o’chirish Map

Amaliy mashq

  1. Takrorli massivdan Set bilan nusxalarni olib tashlang;
  2. add, has, delete ni sinang;
  3. ikki Set ning kesishmasini toping;
  4. Map da obyektni kalit sifatida ishlating;
  5. matndagi so’zlarni Map bilan sanang;
  6. Map ni JSON.stringify qilib, nima chiqishini ko’ring.

Qisqacha xulosa

  • Set — takrorlanmas qiymatlar to’plami; add, has, delete, size.
  • [...new Set(massiv)] — takrorni olib tashlashning eng qisqa yo’li.
  • Set.has massivdagi includes dan ancha tez.
  • Map — istalgan turdagi kalit bilan ishlaydigan juftliklar to’plami.
  • Map for...of bilan [kalit, qiymat] juftligini beradi.
  • Ikkalasi ham JSON’ga to’g’ridan-to’g’ri sig’maydi.

Keyingi darsda regulyar ifodalar — matn ichidan naqsh bo’yicha qidirish.

Bu dars foydali bo'ldimi?

marta ko'rildi