یک آرایه از اشیاء دانش‌آموزان که هر کدام دارای فیلد name و scores (آرایه‌ای از نمرات عددی) هستند را دریافت کنید و با استفاده از متدهای آرایهٔ جاوااسکریپت میانگین نمرهٔ هر دانش‌آموز را محاسبه کرده، دانش‌آموزانی که میانگینشان بزرگ‌تر یا مساوی 60 است فیلتر کرده و در خروجی فقط آرایه‌ای از اسامی آن‌ها برگردانید.

5.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:19

0.0

برای حل این مسئله از متدهای map، reduce و filter و همچنین امکان چین کردن آن‌ها در جاوااسکریپت استفاده کنید: با map برای هر دانش‌آموز مجموع نمرات را با reduce محاسبه کنید و بر تعداد نمرات تقسیم کنید تا میانگین به‌دست آید، سپس با filter فقط مواردی که میانگین >= 60 هستند نگه دارید و در نهایت با یک map دیگر فقط نام‌ها را استخراج کنید. از توابع پیکانی و نگهداری ایمنی (مثلاً بررسی طول آرایهٔ نمرات برای جلوگیری از تقسیم بر صفر) استفاده کنید؛ کد را به صورت توابع کوچک و خوانا بنویسید تا برای مبتدیان قابل دنبال کردن باشد.

توسط پژوهشگر در 202 روز قبل ساعت 02:19
دسته بندی ها: JavaScript JavaScript for beginner
reyhaneh در 202 روز قبل ساعت 10:07

نکته‌ای سریع: برای محاسبهٔ میانگین هر دانش‌آموز با map از reduce برای جمع نمرات استفاده کنید و با چک طول آرایهٔ نمرات (مثلاً scores?.length) یا استفاده از (scores ?? []) از تقسیم بر صفر جلوگیری کنید. سپس با filter فقط آن دسته که میانگینشان >= 60 باقی بمانند و در نهایت با map دیگری فقط نام‌ها را بیرون بکشید. این رویکرد ساده و امن برای مبتدیان قابل پیگیری است و می‌تواند با اضافه کردن چک‌های NaN یا تبدیل به عدد، مقاومت کد را بالا ببرد.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری