الدرس 4 من 8

التجميع بـ reduce

هدف الدرس

من قائمة واحدة إلى أقسام

01

الشرح

يختصر reduce المصفوفة كلّها في قيمة واحدة، وقد تكون هذه القيمة كائنًا، ولهذا يصلح للتجميع.

فتبدأ بكائن فارغ، وفي كل دورة تضع العنصر تحت مفتاحه:

items.reduce((acc, x) => { (acc[x.cat] ??= []).push(x); return acc }, {})

والعلامة ??= تعني «إن لم يكن موجودًا فأنشئه»، والنتيجة كائن مفاتيحه أسماء الأقسام وقيمه مصفوفات.

02

المطلوب

جمّع الطلاب بحسب city، واعرض لكل مدينة عنوانًا h3 وتحته قائمة بأسماء طلابها.

الفحوص

5 فحوص
  1. ثلاثة أقسام بعدد المدن
  2. أسماء المدن صحيحة
  3. عدد الأسماء المعروضة خمسة
  4. الرياض تحتها طالبتان
  5. الدمام تحتها طالبة واحدة
index.html
المعاينة
index.html100%
–/5

اضغط «تشغيل وتصحيح» ليبدأ الفحص.

تجد 5 فحوص في بطاقة «المطلوب».