Menu
CoddyTech

هل ForEach وMap متماثلتان؟

جزء من قسم المنطق وتدفق التنفيذ في رحلة JavaScript على Coddy. الدرس 56 من 65.

مع أن forEach() وmap() طريقتان للمصفوفات تُستخدمان للتكرار، فإن لكل منهما غرضًا مختلفًا وسلوكًا مميزًا:

forEach():

  • تنفّذ دالةً مُمرَّرة مرةً واحدة لكل عنصر في المصفوفة.
  • لا تنشئ مصفوفة جديدة.
  • تُرجع undefined.
  • لا يمكن تسلسلها مع أساليب المصفوفات الأخرى.

map():

  • تنشئ مصفوفة جديدة تحتوي على نتائج استدعاء دالة مُعطاة لكل عنصر في المصفوفة.
  • تعيد مصفوفة جديدة بالطول نفسه للمصفوفة الأصلية.
  • يمكن ربطها بطرائق مصفوفات أخرى.

مثال:

const numbers = [1, 2, 3, 4];

// forEach
numbers.forEach(num => console.log(num * 2));
// يطبع في السجل: 2, 4, 6, 8
// يُرجع: undefined
// map
const doubled = numbers.map(num => num * 2);
console.log(doubled);
// المخرجات: [2, 4, 6, 8]
// يُرجع: مصفوفة جديدة [2, 4, 6, 8]

استخدم forEach() عندما تريد إجراء عملية على كل عنصر دون إنشاء مصفوفة جديدة. استخدم map() عندما تريد تحويل كل عنصر وإنشاء مصفوفة جديدة بالنتائج.

جرّب بنفسك

لا يتضمّن هذا الدرس تحدّيًا برمجيًا.

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس المنطق وتدفق التنفيذ

تدرّب بنفسك: مترجم JavaScript عبر الإنترنت