Skip to content

JavaScript Map (Lug'at)

JavaScript Map — bu kalit-qiymat (key-value) juftliklarini saqlash uchun mo'ljallangan obyekt bo'lib, u boshqa dasturlash tillaridagi "lug'at" (dictionary) tushunchasiga o'xshaydi.

Oddiy obyektlardan farqi shundaki, Map-da kalitlar nafaqat matn, balki istalgan turda (sonlar, obyektlar va h.k.) bo'lishi mumkin.


1. Map xususiyatlari

  • Kalit turlari: Kalitlar istalgan turda bo'lishi mumkin.
  • Tartib: Elementlar qo'shilgan tartibda saqlanadi va iteratsiya qilinadi.
  • Hajmi: size xususiyati orqali elementlar sonini osongina bilish mumkin.
  • Samaradorlik: Elementlarni tez-tez qo'shish va o'chirish uchun moslangan.

2. Map yaratish

Buning ikki xil usuli bor:

  • new Map() yaratib, keyin set() metodi bilan qiymat qo'shish.
  • Konstruktorga tayyor massiv uzatish.

Misol

js
// 1-usul: set() orqali
const mevalar = new Map();
mevalar.set("olma", 500);
mevalar.set("banan", 300);

// 2-usul: Massiv orqali
const mevalar2 = new Map([
  ["olma", 500],
  ["banan", 300]
]);

3. Qiymatlarni olish va o'zgartirish

  • get(kalit): Kalitga mos keladigan qiymatni qaytaradi.
  • set(kalit, yangiQiymat): Mavjud elementni o'zgartiradi yoki yangisini qo'shadi.
js
const narx = mevalar.get("olma"); // 500
mevalar.set("olma", 600); // Qiymat 600 ga o'zgardi

4. Map va Obyektlar o'rtasidagi farq

XususiyatObyekt (Object)Map
IteratsiyaTo'g'ridan-to'g'ri bo'lmaydiTo'g'ridan-to'g'ri iterable
Hajmisize xususiyati yo'qsize xususiyati bor
Kalit turlariFaqat String yoki SymbolIstalgan tur (Object, Number va h.k.)
TartibKafolatlanmaganQo'shilgan tartibda

5. Iteratsiya (Aylanib chiqish)

Map elementlarini forEach() yoki for..of yordamida osongina ko'rib chiqish mumkin:

js
for (const [kalit, qiymat] of mevalar) {
  console.log(kalit + " : " + qiymat);
}

Xulosa

Agar sizga murakkab kalitlar kerak bo'lsa yoki ma'lumotlar tartibi muhim bo'lsa, oddiy obyekt o'rniga Map dan foydalanish tavsiya etiladi. U hozirgi zamonaviy JavaScript ilovalarida juda keng qo'llaniladi.