روشهای 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 است.