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.