لینک‌های مفید برای شرکت در مسابقه:

در قسمت آموزشی برای حل سوالات، سه سری راهنمایی به انتهای سوالات اضافه می‌شود. زمان اضافه شدن راهنمایی‌ها را می‌توانید در قسمت آموزشی پایین سوالات ببینید.‌ همچنین می‌توانید سوال‌های خود را از بخش "سوال بپرسید" مطرح کنید.

محصولات


ظاهر کلی برنامه بدین صورت است:

ظاهر برنامه

پروژه اولیه🔗

پروژه اولیه را از این لینک دانلود کنید. ساختار فایل‌های این پروژه به صورت زیر است.

products
├── assets
│   └── Vazir.ttf
├── cypress
│   ├── fixtures
│   │   └── example.json
│   ├── integration
│   │   └── sample.spec.js
│   ├── plugins
│   │   └── index.js
│   └── support
│       ├── commands.js
│       └── index.js
├── cypress.json
├── index.html
├── package-lock.json
├── package.json
├── script.js
└── styles.css
Plain text
راه‌اندازی پروژه
  • ابتدا پروژه‌ی اولیه را دانلود و از حالت فشرده خارج کنید.
  • سپس فایل index.html را در مرورگر خود باز کنید.

جزئیات🔗

در این سوال میخواهیم تغییراتی را در لیست داده شده ایجاد کنیم و لیست جدید را رندر کنیم. در پروژه اولیه در فایل script.js تابعی‌ با نام changeProducts وجود داره که کد شما در آن قسمت قرار میگیرد. شما باید در این تابع لیست جدیدی با تغییرات خواسته شده ایجاد کنید و تابع renderProducts را با لیست جدید صدا بزنید. تابع changeProducts وقتی صدا زده میشود که دکمه "اعمال تغییرات" کلیک شود. (کد این قسمت در پروژه اولیه وجود دارد)

تغییرات خواسته شده

  • قیمت‌ محصولات باید نصف شود.
  • تاریخ با استفاده از Date و متد toLocaleDateString فرمت شود. (راهنمایی: timestamp داده شده در فیلد date محصولات به صورت ثانیه است اما Date نیاز به میلی ثانیه دارد. این تبدیل باید انجام شود)

نکات🔗

  • شما تنها مجاز به اعمال تغییرات در فایل script.js هستید.
  • تعدادی تست نمونه در پروژه اولیه وجود دارد که با استفاده از آن‌ها می‌توانید کد خود را تست کنید.
  • فقط فایلی را که مجاز به تغییر هستید باید آپلود نمایید.

قسمت آموزشی🔗

در این قسمت راهنمایی‌های سوال، به مرور اضافه می‌شود. مشکلات‌تان در راستای حل سوال را می‌توانید از بخش "سوال بپرسید" مطرح کنید.

راهنمایی ۱

با استفاده از map روی لیست محصولات داده شده میتوانید لیست جدید با تغییرات خواسته شده را ایجاد کنید.

راهنمایی ۲

تغییر خواسته شده برای تاریخ به این صورت است که ابتدا date را ضرب در ۱۰۰۰ میکنیم که به میلی ثانیه تبدیل شود بعد آن را به new Date میدهیم و متد toLocaleDateString رو آن صدا میزنیم.

راهنمایی۳

برای خواندن مطالب بیشتر در مورد map و Date میتوانید از این لینک‌ها استفاده کنید:

لینک برای مپ

لینک برای تاریخ

ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.