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