نقشه ها در JS

یک نقشه، جفت های key-value (کلید و مقدار) را در خود جای می دهد که کلیدها می توانند هر نوع داده ای باشند.

یک نقشه، ترتیب اصلی درج کلیدها را به خاطر دارد.

چگونه یک نقشه در JS بسازیم؟

ما می توانیم یک نقشه JS درست کنیم با استفاده از:

  • ارسال یک آرایه به ()new Map
  • ایجاد یک نقشه و استفاده از ()Map.set

متد new Map()

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

// Create a Map
const fruits = new Map([
  ["سیب ها", 500],
  ["موز ها", 300],
  ["پرتقال ها", 200]
]);

متد set()

می توانیم المان ها را با متد ()set به نقشه اضافه کنیم:

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

// Set Map Values
fruits.set("سیب ها", 500);
fruits.set("موز ها", 300);
fruits.set("پرتقال ها", 200);

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

fruits.set("سیب ها", 200);

متد get()

متد ()get، مقدار یک کلید را در نقشه (map) دریافت می کند:

fruits.get("سیب ها");    // Returns 500

نقشه ها، اشیاء هستند!

typeof، شیء برمی گرداند:

// Returns object:
typeof fruits;

نقشه instanceof، مقدار درست (true) را برمی گرداند:

// Returns true:
fruits instanceof Map;

مقایسه شیء و نقشه JS

تفاوت بین اشیاء و نقشه های JS:

شیء نقشه
به طور مستقیم قابل تکرار نیست. به طور مستقیم قابل تکرار است.
ویژگی اندازه ندارد. ویژگی اندازه دارد.
کلیدها باید رشته (یا نماد) باشند. کلیدها می توانند هر نوع داده ای باشند.
کلیدها به خوبی مرتب نشده اند. کلیدها با درج مرتب شده اند.
کلیدهای پیش فرض دارد. کلیدهای پیش فرض ندارد.

متد های نقشه

متد توضیحات
()new Map یک نقشه جدید می سازد
()set مقدار یک کلید را در نقشه تعیین می کند
()get مقدار یک کلید را در نقشه دریافت می کند
()delete یک عنصر نقشه مشخص شده توسط کلید را حذف می کند
()has اگر کلیدی در نقشه وجود داشته باشد، مقدار true را برمی‌گرداند
()forEach یک تابع را برای هر جفت کلید/مقدار در نقشه فراخوانی می کند
()entries یک تکرار کننده را با جفت های [کلید, مقدار] در نقشه برمی گرداند

خلاصه درس

در این درس با نقشه ها (Maps) در JavaScript:

  • چگونه یک نقشه در JS بسازیم؟
  • متد ()new Map
  • متد ()set
  • متد ()get
  • نقشه ها، اشیاء هستند!
  • مقایسه شیء و نقشه JS
  • متد های نقشه

آشنا شدیم.

تمرین


مشاهده پاسخ
توسعه دهندگان
احسان اسلامی