یک تابع در جاوااسکریپت بنویسید که از یک آرایه از اشیاء کاربران (هر شیء شامل name، age و isActive) کاربران فعال را فیلتر کرده، اسمهای آنها را بهصورت مرتب الفبایی برگرداند و میانگین سن کاربران فعال را محاسبه کند.
3.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 01:55 0.0
برای حل این مسأله از متدهای آرایه در جاوااسکریپت استفاده کنید: ابتدا با filter کاربران با isActive === true را جدا کنید، سپس با map اسمها و سنها را استخراج کنید. برای مرتبسازی نامها از sort همراه با localeCompare استفاده کنید (و قبل از sort یک کپی از آرایه بسازید تا آرایهٔ اصلی تغییر نکند). میانگین سن را با reduce محاسبه کنید و در صورت نبودن کاربر فعال، مقدار میانگین را صفر یا null برگردانید تا از تقسیم بر صفر جلوگیری شود. اینکار را با توابع استاندارد جاوااسکریپت انجام دهید؛ توجه داشته باشید که ورودی ممکن است مقادیر رشتهای برای سن داشته باشد که نیاز به تبدیل عددی دارند.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
نکتهٔ کلیدی این است که قبل از مرتبسازی با sort یک کپی از آرایهٔ فیلترشده بگیرید تا آرایهٔ اصلی تغییر نکند و از localeCompare برای مرتبسازی نامها استفاده کنید. برای استخراج نامها و سنها از map استفاده کنید و سنها را با Number یا parseInt به عدد تبدیل کنید؛ اگر مقدار نامعتبر بود، آن ورودی را فیلتر کنید یا در محاسبه لحاظ نکنید. میانگین سن با reduce محاسبه میشود و اگر هیچ کاربر فعال وجود نداشت مقدار میانگین صفر یا null برگردانید تا تقسیم بر صفر اتفاق نیفتد. همچنین ورودی ممکن است سن به شکل رشته باشد، پس قبل از محاسبه آن را تبدیل به عدد کنید.
گزارش