JS Map’lar
Map obyekti
JavaScript Map’si boshqa dasturlash tillaridagi lug‘atga o‘xshash kalit-qiymat juftliklari to‘plamlarini saqlashi mumkin bo‘lgan obyektdir.
Map’lar standart obyektlardan farq qiladi, chunki kalitlar har qanday turdagi ma’lumotlarga ega bo‘lishi mumkin.
Map xususiyatlari
- Kalit turlari Map kalitlari har qanday turdagi bo‘lishi mumkin (Stringlar, Numberlar, obyektlar va boshqalar).
- Qo‘shish tartibi Map kalitlarining asl qo‘shish tartibini eslab qoladi.
- Hajmi Xaritadagi elementlar soni siz o‘lcham xususiyati yordamida osongina olinadi.
- Ishlash Map’lari kalit-qiymat juftlarini tez-tez qo‘shish va olib tashlash uchun optimallashtirilgan.
- Iteratsiya: Map’lar iterable (takrorlanuvchan) obyektlardir, shuning uchun ular bilan to‘g‘ridan-to‘g‘ri for...of sikllari yoki forEach() kabi metodlardan foydalanish mumkin.
- Takrorlash tartibi Iteratsiya paytida asl tartib saqlanib qoladi.
Map’lar ikkala obyektga (noyob kalit/qiymat to‘plami) va massivlarga (tartib qilingan qiymatlar to‘plami) o‘xshaydi.
Agar yaqinroq qarasangiz, Map’lar obyektlarga juda o‘xshash.
Map’ni qanday yaratish kerak
Siz JavaScript xaritasini yaratasiz:
Map.set()yordamida yangi Map yarating va elementlarni qo‘shing.- Mavjud massivni
new Map()konstruktoriga o‘tkazish
Misollar
Map.set() yordamida yangi Map yarating va elementlarni qo‘shing.
// Create an empty Map
const fruits = new Map();
// Set Map Values
fruits.set("apples", 500);
fruits.set("bananas", 300);
fruits.set("oranges", 200);
O‘zingiz sinab ko‘ring »
Massivni new Map() konstruktoriga uzating:
// Create a Map
const fruits = new Map([
["apples", 500],
["bananas", 300],
["oranges", 200]
]);
O‘zingiz sinab ko‘ring »
Map qiymatlarini qo‘shish
Map’ga set() usuli bilan elementlar qo‘shishingiz mumkin:
Map qiymatlarini o‘zgartirish
set() usuli mavjud Map qiymatlarini o‘zgartirish uchun ham ishlatilishi mumkin:
get() usuli
get() usuli Xaritadagi kalitning qiymatini oladi:
Map’lar obyektlardir
instanceof Map rostini qaytaradi:
JavaScript obyektlari va Map’lar
JavaScript obyektlari va Map’lar o‘rtasidagi farqlar:
| obyekt | Map |
|---|---|
| To‘g‘ridan-to‘g‘ri takrorlanmaydi | To‘g‘ridan-to‘g‘ri iteratsiya qilinadi |
| O‘lcham xususiyatiga ega bo‘lmang | O‘lchamli xususiyatga ega bo‘ling |
| Kalitlar Stringlar (yoki belgilar) bo‘lishi kerak | Kalitlar har qanday ma’lumot turi bo‘lishi mumkin |
| Kalitlar yaxshi tartiblanmagan | Kalitlar kiritish orqali tartiblanadi |
| Standart kalitlarga ega bo‘ling | Standart kalitlarga ega emas |
Batafsil bilib oling:
Brauzerlarda qo‘llab-quvvatlash
Map — ES6 imkoniyati.
ES6 2017 yil iyun oyidan boshlab barcha zamonaviy brauzerlarda to‘liq qo‘llab-quvvatlanadi:
| Chrome 51 |
Edge 15 |
Firefox 54 |
Safari 10 |
Opera 38 |
| May 2016 | Apr 2017 | Jun 2017 | Sep 2016 | Jun 2016 |
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
