آشنایی با forEach در جاواسکریپت
- JavaScript
forEach یکی از سادهترین و پرکاربردترین متدهایی است که در جاواسکریپت برای کار با آرایهها استفاده میشود. این متد زمانی کاربرد دارد که یک لیست از دادهها در اختیار دارید و میخواهید روی هر عضو آن یک عملیات مشخص را اجرا کنید، بدون اینکه نیازی به تولید مقدار یا آرایهٔ جدید باشد.

پیش از پرداختن به کدنویسی، اجازه بدهید دو نمونه از کاربردهای واقعی این متد را با هم مرور کنیم:
فرض کنید در یک رستورانت کار می کنید. هر روز فهرستی از سفارشها به دست شما می رسد و لازم است برای هر مشتری، رسید جداگانهای چاپ شود. در چنین شرایطی میتوانید از forEach برای عبور از روی تمام سفارشها و انجام عمل چاپ استفاده کنید.
یا مثلاً در یک فروشگاه آنلاین، مشتری چند محصول را به سبد خرید خود اضافه میکند و در پایان، مجموع قیمت کل سفارش باید محاسبه شود. باز هم نیاز دارید روی تک تک آیتمها عملیاتی را اجرا کنید، مانند جمع کردن قیمتها.
در این موارد هدف شما اجرای یک عمل است، نه تولید مقدار جدید ، و forEach دقیقاً برای همین طراحی شده است.
مثال اول – سفارش غذا در رستورانت:
const orders = [
{ customer: "Zahra", food: "Kabuli Pulao" },
{ customer: "Omid", food: "Mantu" },
{ customer: "Farzana", food: "Ashak" }
]
orders.forEach(order => {
console.log(`${order.customer} سفارش داده: ${order.food}`)
})
توضیح کد:
ابتدا آرایهای به نام orders تعریف شده که شامل سه سفارش از مشتریان مختلف است. هر سفارش یک شیء (object) است که نام مشتری و غذای درخواستی را نگهداری میکند.
سپس متد forEach روی این آرایه فراخوانی شده است.
در هر دور، یک سفارش (به نام order) دریافت میشود و داخل بدنهٔ تابع، با استفاده از console.log چاپ میشود که مثلاً «Zahra سفارش داده: Kabuli Pulao».
بههمین ترتیب، برای تمام اعضای آرایه این عملیات انجام میشود، بدون اینکه چیزی برگشت داده شود.
مثال دوم – محاسبه مجموع قیمت در سبد خرید:
const cart = [
{ product: "Bolani", price: 100 },
{ product: "Kebab", price: 250 },
{ product: "Doogh", price: 50 }
]
let total = 0
cart.forEach(item => {
total += item.price
})
console.log("مجموع:", total)
توضیح کد:
یک آرایهٔ cart داریم که شامل سه محصول است؛ هر کدام دارای نام و قیمت.
متغیر total با مقدار اولیه صفر تعریف شده تا مجموع قیمتها در آن ذخیره شود.
سپس با استفاده از forEach، روی هر آیتم در cart میگذریم.
در هر تکرار، قیمت محصول به total اضافه میشود.
در پایان، با console.log مجموع کل چاپ میشود: مجموع: 400.
هر زمان که نیاز داشته باشید روی اعضای یک آرایه فقط یک عمل انجام دهید؛ مانند ثبت اطلاعات، چاپ داده یا انجام محاسبات؛ و نیازی به تولید مقدار جدید ندارید، forEach یکی از تمیزترین و قابل فهمترین گزینهها است.