نگاشت ها (Maps)
«نگاشت (Map)» جفت های «کلید-مقدار» را نگه می دارد. کلید می تواند هر نوعی باشد. همچنین، ترتیب اضافه کردن را حفظ می کند. مثل دفتر نمره که نام دانش آموز کلید است و نمره مقدار.
ساخت Map با new Map()
می توانی آرایه ای از جفت ها را به سازنده بدهی. «سازنده (Constructor)» همان تابع ساخت شیء است.
// Create a Map
const fruits = new Map([
["apples", 500],
["bananas", 300],
["oranges", 200]
]);
افزودن و به روزرسانی با set()
با متد «set()» مقدار یک کلید را تعیین می کنی. اگر کلید وجود داشته باشد، مقدارش عوض می شود.
// Create a Map
const fruits = new Map();
// Set Map Values
fruits.set("apples", 500);
fruits.set("bananas", 300);
fruits.set("oranges", 200);
// Update existing value
fruits.set("apples", 200);
خواندن مقدار با get()
متد «get()» مقدار یک کلید را برمی گرداند. مثل پرسیدن نمره یک نفر.
// Returns the value of key
const score = fruits.get("apples");
Map هم شیء است
«typeof» نوع را برمی گرداند. «instanceof» عضویتِ کلاس را می سنجد.
// Returns object
const t = typeof fruits;
// Returns true
const isMap = fruits instanceof Map;
فرق شیء عادی با Map
Map مستقیم قابل پیمایش است. ویژگی «size» دارد. کلید می تواند هر نوعی باشد. ترتیب کلیدها همان ترتیب ورود است. شیء چنین ویژگی هایی را به صورت پیش فرض ندارد.
گام های عملی
- یک Map بساز و چند کلید تعیین کن.
- با get() مقدار یک کلید را بخوان.
- با set() یک مقدار را عوض کن و نتیجه ببین.
جمع بندی سریع
- نگاشت ها ترتیب ورود را حفظ می کنند.
- کلید می تواند هر نوعی باشد.
- set برای نوشتن است؛ get برای خواندن.
- typeof نتیجه object می دهد.
برای ادامه، به متدهای نگاشت برو. همچنین مرجع نگاشت و WeakMap را ببین. اگر ساختار مجموعه لازم داری، مجموعه ها را بررسی کن.