اذهب إلى المحتوى
  • 0

شرح الدالة foreach في جافاسكربت

عبدالله محمد

السؤال

Recommended Posts

  • 1

اذا كنت تفهم وظيفة الدالة for فيمكنك فهم وظيفة foreach لأنهما متقاربتان من بعضهما البعض ولديهما نفس الهدف, وهو القيام بحلقة تكرار على مصفوفة , لنحاول شرحها باستخدام كود, لاحظ الكود التالي

const myArray = ['a', 'b', 'c'];

myArray.forEach(element => console.log(element));

لدينا مصفوفة وتحتوي على ثلاثة عناصر كما تلاحظ, أريد ان أطبع هذه العناصر الثلاثة, يمكننا فعل ذلك عن طريق عمل حلقة تكرار على المصفوفة هذه, يمكننا استخدام for او foreach , استخدمت في هذا الكود foreach, فكرة عملها بسيطة جدا, تقوم الدالة باستقبال عنصر واحد في كل حلقة, هذا العنصر بالتأكيد ينتمي للمصفوفة التي اجريت عليها حلقة التكرار, في البداية تستقبل العنصر الاول, ثم الثاني , وهكذا الى أن تصل للعنصر الأخير, يتم استقبال العنصر وتخزينه في المتغير element, وبالطبع يمكنك تسميته كما تريد فمثلا سوف أسميه data

myArray.forEach(data => console.log(data));

بعد تخزين العنصر في المتغير data نستطيع أن نجري عليه العمليات التي نريد, في المثال قمت بطباعته فقط
 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

forEach تترجم "لكل من" يقوم هذا التابع بالمرور على كل عنصر من عناصر المصفوفة واحدًا تلو الاخر
ويستدعي لك التابع الذي تمرره له مع تمرير العنصر الحالي
مثال توضيحي:

/**
* تابع يطبع القيمة الممرة
*/
function logItem(item) { 
  console.log(item); // هنا سيمرر كل عنصر على حدى
}

// مصفوفة عناصر متنوعة
const array = [1, "a", { name: "abc" }];

// لكل من عناصر المصفوفة نستدعي تابعًا ما
array.forEach(logItem); 

الخرج سيكون كما يلي:

1
"a"
{ name: "abc"}

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...