الدرس 4 من 8
التجميع بـ reduce
- 15 دقيقة
- 5 فحوص
- 3 تلميحات
- إلى المطلوب
هدف الدرس
من قائمة واحدة إلى أقسام
الشرح
يختصر reduce المصفوفة كلّها في قيمة واحدة، وقد تكون هذه القيمة كائنًا، ولهذا يصلح للتجميع.
فتبدأ بكائن فارغ، وفي كل دورة تضع العنصر تحت مفتاحه:
items.reduce((acc, x) => { (acc[x.cat] ??= []).push(x); return acc }, {})
والعلامة ??= تعني «إن لم يكن موجودًا فأنشئه»، والنتيجة كائن مفاتيحه أسماء الأقسام وقيمه مصفوفات.
المطلوب
جمّع الطلاب بحسب city، واعرض لكل مدينة عنوانًا h3 وتحته قائمة بأسماء طلابها.
الفحوص
5 فحوص- ثلاثة أقسام بعدد المدن
- أسماء المدن صحيحة
- عدد الأسماء المعروضة خمسة
- الرياض تحتها طالبتان
- الدمام تحتها طالبة واحدة