جاوا اسکریپت ماپ طریق

روش new Map()

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

مثال

// إنشاء Map
const fruits = new Map([
  ["apples", 500],
  ["bananas", 300],
  ["oranges", 200]
]);

خود را امتحان کنید

Map.get()

يمكن استخدام get() این روش مقدار یک کلید در Map را می‌گیرد:

مثال

fruits.get("apples");

خود را امتحان کنید

Map.set()

يمكن استخدام set() این روش یک عنصر به Map اضافه می‌کند:

مثال

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

خود را امتحان کنید

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

مثال

fruits.set("apples", 500);

خود را امتحان کنید

Map.size

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

مثال

fruits.size;

خود را امتحان کنید

Map.delete()

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

مثال

fruits.delete("apples");

خود را امتحان کنید

Map.clear()

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

مثال

fruits.clear();

خود را امتحان کنید

Map.has()

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

مثال

fruits.has("apples");

خود را امتحان کنید

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

fruits.delete("apples");
fruits.has("apples");

خود را امتحان کنید

Map.forEach()

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

مثال

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

خود را امتحان کنید

Map.entries()

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

مثال

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

خود را امتحان کنید

Map.keys()

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

مثال

// لیست تمام کلیدها
let text = "";
برای (کاستن x از fruits.keys()) {
  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 ماپ.groupBy() الطريقة.

ماپ.groupBy() الطريقة تقوم بتجميع عناصر الهدف بناءً على القيمة التي يعودها الدالة المقدمة.

ماپ.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);

خود را امتحان کنید

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

ماپ.groupBy() این ویژگی از ES2024 است.

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

کروم اندرو فایرفاکس سافاری اپرا
کروم ۱۱۷ اندرو ۱۱۷ فایرفاکس ۱۱۹ سافاری ۱۷.۴ اپرا ۱۰۳
ماه سپتامبر ۲۰۲۳ ماه سپتامبر ۲۰۲۳ ماه اکتبر ۲۰۲۳ ماه اکتبر ۲۰۲۴ ماه مه ۲۰۲۳

اخطار:

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

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

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

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

Object.groupBy() عناصر را به یک اوبجکت جی‌اوسکریپت گروه‌بندی کنید.

ماپ.groupBy() عناصر را به یک اوبجکت ماپ گروه‌بندی کنید.

مرجع کامل ماپ

برای مراجعه کامل، لطفاً به:جی‌اوسکریپت ماپ مرجع

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