Map metodlari


ULASHISH

new Map() metodi

Siz new Map() konstruktoriga massiv o‘tkazish orqali Map yaratishingiz mumkin:

Misol

// Create a Map
const fruits = new Map([
  ["apples", 500],
  ["bananas", 300],
  ["oranges", 200]
]);
O‘zingiz sinab ko‘ring »

Map.get()

get() usuli yordamida xaritadagi kalitning qiymatini olasiz

Misol

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

Map.set()

Map’ga set() usuli bilan elementlar qo‘shishingiz mumkin:

Misol

// Create a 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 »

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

Misol

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

Map.size

size xususiyati xaritadagi elementlar sonini qaytaradi:

Misol

fruits.size;
O‘zingiz sinab ko‘ring »

Map.delete()

delete() metodi Map elementini olib tashlaydi:

Misol

fruits.delete("apples");
O‘zingiz sinab ko‘ring »

Map.clear()

clear() usuli Map’dan barcha elementlarni olib tashlaydi:

Misol

fruits.clear();
O‘zingiz sinab ko‘ring »

Map.has()

has() usuli, agar Map’da kalit mavjud bo‘lsa, true qiymatini qaytaradi:

Misol

fruits.has("apples");
O‘zingiz sinab ko‘ring »

Buni sinab ko‘ring:

fruits.delete("apples");
fruits.has("apples");
O‘zingiz sinab ko‘ring »



Map.forEach()

forEach() usuli xaritadagi har bir kalit/qiymat juftligi uchun callback funksiyasini chaqiradi:

Misol

// List all entries
let text = "";
fruits.forEach (function(value, key) {
  text += key + ' = ' + value;
})
O‘zingiz sinab ko‘ring »

Map.entries()

entries() usuli xaritadagi [kalit, qiymatlar] bilan iterator obyektini qaytaradi:

Misol

// List all entries
let text = "";
for (const x of fruits.entries()) {
  text += x;
}
O‘zingiz sinab ko‘ring »

Map.keys()

keys() usuli xaritadagi kalitlarga ega iterator obyektini qaytaradi:

Misol

// List all keys
let text = "";
for (const x of fruits.keys()) {
  text += x;
}
O‘zingiz sinab ko‘ring »

Map.values()

values() usuli xaritadagi qiymatlar bilan iterator obyektini qaytaradi:

Misol

// List all values
let text = "";
for (const x of fruits.values()) {
  text += x;
}
O‘zingiz sinab ko‘ring »

Xaritadagi qiymatlarni jamlash uchun values() usulidan foydalanishingiz mumkin:

Misol

// Sum all values
let total = 0;
for (const x of fruits.values()) {
  total += x;
}
O‘zingiz sinab ko‘ring »

Obyektlar kalit sifatida

Obyektlarni kalit sifatida ishlatish imkoniyati xaritaning muhim xususiyatidir.

Misol

// Create Objects
const apples = {name: 'Apples'};
const bananas = {name: 'Bananas'};
const oranges = {name: 'Oranges'};

// Create a Map
const fruits = new Map();

// Add new Elements to the Map
fruits.set(apples, 500);
fruits.set(bananas, 300);
fruits.set(oranges, 200);
O‘zingiz sinab ko‘ring »

Esingizda bo‘lsin: Kalit ip ("olma") emas, balki obyekt (olma):

Misol

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

JavaScript Map.groupBy() metodi

ES2024 JavaScript’ga Map.groupBy() metodini qo‘shdi.

Map.groupBy() usuli takrorlanadigan elementlarni bo‘yicha guruhlaydi callback qilish funksiyasidan qaytarilgan qiymatlarga.

Map.groupBy() metodi asl obyektni o‘zgartirmaydi.

Qaytish qiymati har bir guruh uchun kaliti bo‘lgan Map bo‘lib, bu yerda har bir kalit bog‘langan elementlar massiviga tayinlanadi.

Misol

// Create an Array
const fruits = [
  {name:"apples", quantity:300},
  {name:"bananas", quantity:500},
  {name:"oranges", quantity:200},
  {name:"kiwi", quantity:150}
];

// Callback function to Group Elements
function myCallback({ quantity }) {
  return quantity > 200 ? "ok" : "low";
}

// Group by Quantity
const result = Map.groupBy(fruits, myCallback);
O‘zingiz sinab ko‘ring »

Brauzerlarda qo‘llab-quvvatlash

Map.groupBy() — ECMAScript 2024 imkoniyati.

JavaScript 2024 yangi brauzerlarda 2024-yil martidan beri qo‘llab-quvvatlanadi:

Chrome 117 Edge 117 Firefox 119 Safari 17.4 Opera 103
Sep 2023 Sep 2023 Oct 2023 Okt 2024 May 2023

Ogohlantirish

ES2024 xususiyatlari nisbatan yangi.

Eski brauzerlar uchun muqobil kod (Polyfill) kerak bo‘lishi mumkin


Object.groupBy() va Map.groupBy()

Object.groupBy() va Map.groupBy() o‘rtasidagi farq:

Object.groupBy() elementlarni JavaScript obyektiga guruhlaydi.

Map.groupBy() elementlarni Map obyektiga guruhlaydi.


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!