JS Map’lar

ULASHISH

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:

Misol

fruits.set("mangos", 100);
O‘zingiz sinab ko‘ring »

Map qiymatlarini o‘zgartirish

set() usuli mavjud Map qiymatlarini o‘zgartirish uchun ham ishlatilishi mumkin:

Misol

fruits.set("apples", 200);
O‘zingiz sinab ko‘ring »

get() usuli

get() usuli Xaritadagi kalitning qiymatini oladi:

Misol

fruits.get("apples");    // Returns 500
O‘zingiz sinab ko‘ring »


Map’lar obyektlardir

Misol

// Returns object:
typeof fruits;
O‘zingiz sinab ko‘ring »

instanceof Map rostini qaytaradi:

Misol

// Returns true:
fruits instanceof Map;
O‘zingiz sinab ko‘ring »

JavaScript obyektlari va Map’lar

JavaScript obyektlari va Map’lar o‘rtasidagi farqlar:

obyektMap
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


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!