()JavaScript Array map
🔹 JavaScript Array map()
تابع ()map در جاوااسکریپت یکی از مهمترین و پرکاربردترین متدهای آرایه است که برای تغییر، پردازش و تولید آرایهای جدید از دادهها استفاده میشود — بدون اینکه آرایه اصلی تغییر کند.
🔸 تعریف و کاربرد
()map روی هر عنصر از آرایه اصلی اجرا میشود و خروجی هر بار را در یک آرایه جدید قرار میدهد.
📘 ساختار کلی:
📌 ()map همیشه یک آرایه جدید برمیگرداند و آرایه اصلی را تغییر نمیدهد.
🔹 مثال ۱: دو برابر کردن اعداد
📌 خروجی:
✅ آرایه numbers بدون تغییر باقی مانده و آرایه جدید doubled ساخته شده.
🔹 مثال ۲: به حروف بزرگ تبدیل کردن رشتهها
📌 خروجی:
🔹 مثال ۳: استخراج یک ویژگی از آبجکتها
📌 خروجی:
✅ فقط خاصیت name از هر آبجکت گرفته شده و در یک آرایه جدید ذخیره شده.
🔹 مثال ۴: استفاده از index
📌 خروجی:
✅ دومین پارامتر index شماره اندیس هر عنصر است.
🔹 مثال ۵: map در React
در React معمولاً از ()map برای نمایش لیست دادهها استفاده میشود:
📌 هر عنصر از آرایه به یک <li> تبدیل میشود.
ویژگی key برای شناسایی یکتای هر آیتم ضروری است.
🔹 مثال ۶: استفاده زنجیرهای با سایر متدها
📌 خروجی:
✅ ابتدا همه اعداد دو برابر شدن، بعد اعداد بزرگتر از ۵ فیلتر شدن.
🔹 تفاوت map و forEach
| ویژگی | ()map | ()forEach |
|---|---|---|
| خروجی دارد | ✅ آرایه جدید برمیگرداند | ❌ چیزی برنمیگرداند |
| قابل زنجیره شدن | ✅ بله | ❌ خیر |
| هدف اصلی | ساخت آرایه جدید | انجام عملی روی عناصر (مثل چاپ) |
| تغییر آرایه اصلی | ❌ خیر | ❌ خیر |
🔹 مثال مقایسه:
✅ نکتهها
-
()mapهمیشه طول آرایه خروجی برابر با آرایه اصلی دارد. -
اگر در تابع
mapچیزی return نکنی، مقدارundefinedدر خروجی قرار میگیرد. -
تغییرات روی آرایه اصلی انجام نمیشود.
-
در React، پرکاربردترین متد برای render کردن لیستها است.
✅ خلاصه
| مفهوم | توضیح |
|---|---|
| نوع متد | تابع callback روی آرایه |
| خروجی | آرایه جدید |
| تغییر آرایه اصلی | ندارد |
| پارامترها | (value, index, array) |
| کاربرد رایج | تغییر شکل دادهها، رندر لیست در React |
| تفاوت با forEach | map خروجی دارد، forEach ندارد |
✅ نتیجه:
()map یکی از متدهای قدرتمند و پرکاربرد جاوااسکریپت است که به شما اجازه میدهد آرایهها را به سادگی پردازش کنید و از آن در React برای رندر کردن دادهها استفاده کنید.
HTML
Tailwind Css
Bootstrap 5
Java script
++C
Python
Three.js
Gsap
Sass
SQL
React