اجرای یک تابع (Function) بر روی تک تک عنصرهای (Element) یک آرایه (Array) و برگرداندن نتیجه به صورت یک آرایه (Array) جدید، با روش map ، در JavaScript
روش map
در JavaScript ، یک تابع (Function) را بر روی تک تک عنصرهای (Element) یک آرایه (Array) اجرا می کند و سپس نتیجه را به صورت یک آرایه (Array) برمی گرداند.
تابعی (Function) که به روش map
می دهیم، باید حتما یک مقدار (Value) را برگرداند (باید return
در آن به کار رفته باشد)، تا مقادیر برگردانده شده در یک آرایه (Array) جدید ذخیره شوند.
اگر تابعی (Function) که به روش map
می دهیم، تنها یک ورودی (input) داشته باشد، آنگاه روش map
، آن ورودی را به عنوان مقدار (Value) عنصر (Element) (یعنی خود عنصر) در نظر می گیرد (عنصر آرایه اصلی). یعنی به شکل کلی زیر :
اگر تابعی (Function) که به روش map
می دهیم، دو ورودی (input) داشته باشد، آنگاه روش map
، ورودی اول را به عنوان مقدار (Value) عنصر (Element) (یعنی خود عنصر) و ورودی دوم را به عنوان شماره متناظر با عنصر (ایندکس - index) در نظر می گیرد (عنصر آرایه اصلی و شماره متناظر با آن). یعنی به شکل کلی زیر :
دقت شود که نام های تعیین شده برای ورودی های تابع (Function) در کدهای تعریف تابع (Function) مهم نیستند و هر چه باشند، روش map
آنها را مطابق آنچه گفته شد، در نظر می گیرد.
روش map
، آرایه (Array) اصلی را تغییر نمی دهد.
به مثال زیر توجه کنید :
نتیجه :
در این مثال نشان داده ایم که آرایه (Array) اصلی تغییر نمی کند :
نتیجه :
نتیجه :
نتیجه :
می توانیم تابع (Function) مورد نظرمان را در ورودی خود روش map
تعریف کنیم. برای این منظور، دقیقا همان کدهایی که برای تعریف تابع (Function) می نوشتیم را درون پرانتز روش map
می نویسیم.
به مثال زیر توجه کنید :
اگر در کدهای JavaScript بالا دقت کنید، مشاهده می کنید که کد تعریف تابع (Function) زیر، درون پرانتز روش map
نوشته شده است :
نتیجه :
آرایه ای (Array) از شیء ها (Object) :
اگر آرایه (Array) مورد نظرمان، آرایه ای (Array) از شیء ها (Object) باشد، آنگاه می توانیم روش map
را برای اجرای یک تابع (Function) بر روی مشخصه های (Property) شیء های (Object) موجود در آن آرایه (Array) به کار ببریم و سپس نتیجه به صورت یک آرایه (Array) برگردانده می شود.
به مثال زیر توجه کنید :
به دست آوردن مقدار (Value) یک مشخصه (Property) خاص از شیء های (Object) موجود در آرایه (Array)، به صورت یک آرایه (Array) جدید :
نتیجه :
به دست آوردن مقدار (Value) یک مشخصه (Property) خاص از شیء های (Object) موجود در آرایه (Array)، به صورت یک آرایه (Array) جدید و چاپ ایندکس (index) و آن مشخصه (Property) خاص در خروجی :
نتیجه :
به دست آوردن دو مشخصه (Property) خاص از شیء های (Object) موجود در آرایه (Array)، به صورت یک آرایه (Array) جدید :
از روش JSON.stringify
برای تبدیل آرایه (Array) شامل شیء ها (Object) به یک رشته (String) استفاده کرده ایم تا بتوانیم آن را در خروجی صفحه نمایش دهیم.
نتیجه :
به دست آوردن دو مشخصه (Property) خاص از شیء های (Object) موجود در آرایه (Array)، به صورت یک آرایه (Array) جدید و چاپ ایندکس (index) و همه مشخصه ها (Property) در خروجی :
از روش JSON.stringify
برای تبدیل آرایه (Array) شامل شیء ها (Object) به یک رشته (String) استفاده کرده ایم تا بتوانیم آن را در خروجی صفحه نمایش دهیم.
نتیجه :
نمایش شیء ها (Object) و ایندکس (index) آنها در خروجی (برای آرایه اصلی) و همچنین به دست آوردن مقدار (Value) یک مشخصه (Property) خاص از شیء های (Object) موجود در آرایه (Array)، به صورت یک آرایه (Array) جدید :
از روش JSON.stringify
برای تبدیل شیء (Object) به یک رشته (String) استفاده کرده ایم تا بتوانیم آن را در خروجی صفحه نمایش دهیم.