روش‌های Map در JavaScript

روش new Map()

می‌توانید با انتقال یک آرایه به new Map() تولیدکننده برای ایجاد Map:

مثال

// ایجاد یک Map
const میوه = new Map([
  ["apples", 500],
  ["bananas", 300],
  ["oranges", 200]
]);

به طور مستقیم امتحان کنید

get() Map

می‌توان از get() این روش مقدار کلیدهای Map را دریافت می‌کند:

مثال

میوه.get("apples");

به طور مستقیم امتحان کنید

set() Map

می‌توان از set() این روش عناصر جدید به Map اضافه می‌کند:

مثال

// ایجاد یک Map
const fruits = new Map();
// تنظیم مقادیر Map
میوه.set("apples", 500);
میوه.set("bananas", 300);
میوه.set("oranges", 200);

به طور مستقیم امتحان کنید

set() این روش همچنین می‌تواند برای تغییر مقادیر موجود Map استفاده شود:

مثال

میوه.set("apples", 500);

به طور مستقیم امتحان کنید

size Map

size این ویژگی تعداد عناصر Map را برمی‌گرداند:

مثال

میوه.size;

به طور مستقیم امتحان کنید

delete() Map

delete() این روش یک عنصر از Map را حذف می‌کند:

مثال

میوه.delete("apples");

به طور مستقیم امتحان کنید

clear() Map

clear() این روش همه عناصر Map را حذف می‌کند:

مثال

میوه.clear();

به طور مستقیم امتحان کنید

has() Map

اگر یک کلید در Map وجود دارد،has() این روش true را برمی‌گرداند:

مثال

میوه.has("apples");

به طور مستقیم امتحان کنید

تلاش کنید کد زیر را اجرا کنید:

میوه.delete("apples");
میوه.has("apples");

به طور مستقیم امتحان کنید

forEach() Map

forEach() این روش برای هر جفت کلید-مقدار Map یک تابع بازگشتی فراخوانی می‌کند:

مثال

// لیست همه ورودی‌ها
let text = "";
میوه.forEach(function(مقدار, کلید) {
  text += کلید + ' = ' + مقدار;
});

به طور مستقیم امتحان کنید

ورودی‌ها() Map

ورودی‌ها() این روش یک آیتم متغیر شامل [کلید, مقدار] آیتم متغیر درست:

مثال

// لیست همه ورودی‌ها
let text = "";
برای (از x در ورودی‌های میوه) {
  text += x;
}

به طور مستقیم امتحان کنید

کلیدها() Map

کلیدها() این روش یک آیتم متغیر شامل کلیدهای Map را برمی‌گرداند:

مثال

// لیست همه کلیدها
let text = "";
برای (از x در کلیدهای میوه) {
  text += x;
}

به طور مستقیم امتحان کنید

Map.values()

values() این روش یک آیتم بازگردانده شده از یک آیتم مولد شامل ارزش‌های موجود در Map است:

مثال

// لیست همه ارزش‌ها
let text = "";
for (const x of fruits.values()) {
  text += x;
}

به طور مستقیم امتحان کنید

می‌توان از values() این روش ارزش‌های موجود در Map را جمع می‌کند:

مثال

// جمع کل ارزش‌ها
let total = 0;
for (const x of fruits.values()) {
  total += x;
}

به طور مستقیم امتحان کنید

اشیاء به عنوان کلید

توجه:توانایی استفاده از اشیاء به عنوان کلید یکی از ویژگی‌های مهم Map است.

مثال

// ایجاد اشیاء
const apples = {name: 'Apples'};
const bananas = {name: 'Bananas'};
const oranges = {name: 'Oranges'};
// ایجاد یک Map
const fruits = new Map();
// اضافه کردن عناصر جدید به Map
fruits.set(apples, 500);
fruits.set(bananas, 300);
fruits.set(oranges, 200);

به طور مستقیم امتحان کنید

توجه داشته باشید:کلید یک شیء است (apples)، نه یک رشته ("apples"):

مثال

fruits.get("apples"); // undefined بازمی‌گرداند

به طور مستقیم امتحان کنید

JavaScript Map.groupBy()

ES2024 به JavaScript Map.groupBy() روش.

Map.groupBy() این روش اشیاء عنصرهای خود را بر اساس رشته‌هایی که توسط توابع بازگشتی بازگردانده می‌شوند، گروه‌بندی می‌کند.

Map.groupBy() این روش هیچ‌گاه اشیاء اصلی را تغییر نمی‌دهد.

مثال

// ایجاد یک آرایه
const fruits = [
  {name: "apples", quantity: 300},
  {name: "bananas", quantity: 500},
  {name: "oranges", quantity: 200},
  {name: "kiwi", quantity: 150}
];
// توابع بازگشتی برای گروه‌بندی
function myCallback({ quantity }) {
  return quantity > 200 ? "ok" : "low";
}
// گروه‌بندی بر اساس تعداد
const result = Map.groupBy(fruits, myCallback);

به طور مستقیم امتحان کنید

پشتیبانی مرورگر

Map.groupBy() این ویژگی‌ها از ES2024 هستند.

از مهندسین 2024، تمام مرورگرهای جدید از این ویژگی‌ها پشتیبانی می‌کنند:

Chrome Edge Firefox Safari Opera
Chrome 117 Edge 117 Firefox 119 Safari 17.4 Opera 103
مهندسین 2023 مهندسین 2023 مهندسین 2023 مهندسین 2024 مهندسین 2023

اخطار:

ویژگی‌های ES2024 نسبتاً جدید هستند.

ممکن است در مرورگرهای قدیمی‌تر نیاز به کد جایگزین (Polyfill) باشد.

تفاوت بین Object.groupBy() و Map.groupBy()

Object.groupBy() و Map.groupBy() تفاوت بین:

Object.groupBy() عناصر را به شیء JavaScript گروه‌بندی کنید.

Map.groupBy() عناصر را به Map شیء گروه‌بندی کنید.

مرجع کامل Map

برای دسترسی به مرجع کامل، لطفاً به:دستورالعمل JavaScript Map.

این دستورالعمل شامل توضیحات و مثال‌های تمام ویژگی‌ها و روش‌های Map است.