یک تابع جاوااسکریپت بنویسید که آرایه‌ای از کالاها (هر کالا دارای name، category و price) را گرفته و آن را به آبجکتی تبدیل کند که کلیدها category باشند و مقادیر آرایه‌ای از نام کالاها به همراه قیمت نرمال‌شدهٔ آنها (مقیاس ۰ تا ۱ بر اساس مین و مکس در همان دسته) باشد.

17.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 04:00

0.0

برای حل از متدهای آرایهٔ جاوااسکریپت مثل reduce و map استفاده کنید: ابتدا با reduce اقلام را بر اساس category گروه‌بندی کنید، سپس برای هر گروه مین و مکس قیمت را محاسبه کرده و برای هر کالا قیمت نرمال‌شده را با فرمول (price - min) / (max - min) بسازید؛ در صورت برابر بودن min و max مقدار نرمال را مثلاً 0 یا 1 قرار دهید. از قابلیت‌های ES6 مانند arrow functions و destructuring برای خوانایی بهتر استفاده کنید و در هنگام محاسبه مراقب تقسیم بر صفر و داده‌های ناقص باشید.

توسط پژوهشگر در 201 روز قبل ساعت 04:00
دسته بندی ها: JavaScript JavaScript for beginner
arash در 201 روز قبل ساعت 04:25

نکته‌ای که ممکن است باعث اشکال شود این است که داده‌های ناقص یا قیمت‌های غیرعدد را باید فیلتر یا نادیده بگیریم تا محاسبه min/max صحیح باشد. از ES6 با destructuring و arrow functions استفاده کنید و با reduce دسته‌بندی‌ها را بسازید، سپس برای هر دسته min و max را محاسبه کرده و نام‌های کالا را همراه با قیمت‌های نرمال‌شده جمع‌آوری کنید. در محاسبه نرمال‌سازی (price - min) / (max - min)، اگر min برابر max شد مقدار نرمال را به‌طور قطع 0 در نظر بگیرید تا تقسیم بر صفر اتفاق نیفتد و خروجی پایدار باشد. پس از این مرحله، خروجی شیء‌محور با کلیدهای دسته‌بندی و مقادیری که شامل نام کالاها و قیمت‌های نرمال‌شده است به دست می‌آید.

گزارش

1 پاسخ

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

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