جاوا اسکریپت ماپ طریق
روش 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()
عناصر را به یک اوبجکت ماپ گروهبندی کنید.
مرجع کامل ماپ
برای مراجعه کامل، لطفاً به:جیاوسکریپت ماپ مرجع。
این مرجع شامل توضیحات و مثالهای تمام ویژگیها و روشهای ماپ است.