Map() چیه ؟

پرسیده شده
فعالیت 921 روز پیش
دیده شده 333 بار
0

استاد این Map() که داخل cachingDecorator  تعریف کردید اصلا چی هست اینو اصلا توضیح ندادید ؟

فایل پیوست

Mahdiabedini
Mahdiabedini

20 مهر 00

0
حذف شده

سلام

در قسمت اکما اسکریپت Map کاملا آموزش داده شده است اما جهت مطالعه:

 

Map مقادیر Key-Value را در خود نگه‌ داشته و ترتیب Keyها را براساس ایجاد‌شان به خاطر می‌سپرد. هر مقداری در 

این ساختار ممکن است یا به صورت Key و یا به صورت Value استفاده شود.

Map یک ساختار داده‌ای است و جدای از جاوااسکریپت در زبان‌های برنامه‌نویسی دیگری نیز موجود است. برای تعریف Map در جاوااسکریپت می‌توانید به صورت زیر اقدام نمایید:

const myMap = new Map([ [key, value] ]);

مشکلی که Map حل می‌کند:

ساختار داده Object در جاوااسکریپت تنها از یک Key در تعریف شئ پشتیبانی می‌کند. اگر چندین Key Object را وارد کنیم تنها مورد آخر ذخیره خواهد شد. اما Map بدین شکل نیست:

const myObject = {};
const a = {};
const b = {};
myObject[a] = 'a';
myObject[b] = 'b';
console.log(myObject); // { '[object Object]': 'b' }

همانطور که مشاهده می‌کنید خروجی درستی براساس انتظار ما برگشت داده نشده اما اگر به صورت زیر این کار را انجام دهید:

const a = {};
const b = {};
const myMap = new Map([ [ a, 'a'], [b, 'b'] ]);
console.log(myMap); // Map { {} => 'a', {} => 'b' }

مشکل ما حل خواهد شد. همانطور که مشاهده می‌کنید Map می‌تواند چندین Object را به عنوان Key ذخیره کند.

فایل پیوست

مهرداد دادخواه

توسط

مهرداد دادخواه

6 آبان 00