JavaScript Map Metodlari
Map obyekti ma'lumotlarni saqlash va boshqarish uchun bir nechta samarali metodlarni taqdim etadi.
1. new Map()
Yangi lug'at (Map) yaratish uchun ishlatiladi. Unga ikki o'lchamli massiv uzatish orqali boshlang'ich qiymatlar berish mumkin.
const mevalar = new Map([
["olma", 500],
["banan", 300]
]);2. set(kalit, qiymat) — Qiymat qo'shish yoki o'zgartirish
Lug'atga yangi element qo'shadi yoki mavjud kalitning qiymatini yangilaydi.
const mevalar = new Map();
mevalar.set("olma", 500); // Qo'shish
mevalar.set("olma", 600); // O'zgartirish3. get(kalit) — Qiymatni olish
Berilgan kalitga mos keladigan qiymatni qaytaradi. Agar kalit topilmasa, undefined qaytaradi.
console.log(mevalar.get("olma")); // 6004. has(kalit) — Mavjudligini tekshirish
Lug'atda ma'lum bir kalit borligini tekshiradi va true yoki false qaytaradi.
console.log(mevalar.has("olma")); // true5. delete(kalit) — O'chirish
Lug'atdan ko'rsatilgan kalit va uning qiymatini o'chirib tashlaydi.
mevalar.delete("olma");6. clear() — Tozalash
Lug'atdagi barcha elementlarni bir yo'la o'chirib yuboradi.
mevalar.clear();7. size — Hajmi
Lug'atdagi elementlar sonini bildiradi.
console.log(mevalar.size);8. Iteratsiya metodlari
forEach(): Har bir kalit-qiymat juftligi uchun funksiya chaqiradi.keys(): Barcha kalitlar uchun iterator qaytaradi.values(): Barcha qiymatlar uchun iterator qaytaradi.entries():[kalit, qiymat]juftliklari uchun iterator qaytaradi.
mevalar.forEach((qiymat, kalit) => {
console.log(`${kalit} = ${qiymat}`);
});9. Map.groupBy() — Guruhlash (ES2024)
Massiv elementlarini ma'lum bir shart asosida guruhlab, Map ko'rinishida qaytaradi.
const maxsulotlar = [
{ nom: "olma", miqdor: 300 },
{ nom: "banan", miqdor: 500 },
{ nom: "kiwi", miqdor: 150 }
];
const guruhlangan = Map.groupBy(maxsulotlar, ({ miqdor }) =>
miqdor > 200 ? "yetarli" : "kam"
);Xulosa
Map metodlari oddiy obyektlarga qaraganda ko'proq imkoniyat va yuqori samaradorlik beradi. Ayniqsa, kalit sifatida istalgan turdagi ma'lumotlarni ishlata olish qobiliyati uni juda qulay qiladi.
