نقشه ها در 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
- متد های نقشه
آشنا شدیم.