مهارتهای لازم:
- آشنایی با جاوااسکریپت
پروژه اولیه
پروژه اولیه را از این لینک دانلود کنید. ساختار فایلهای این پروژه به صورت زیر است.
moving-array
├── 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
جزئیات
ظاهر کلی برنامه بدین صورت است:
در این سوال میخواهیم برنامه بنویسیم که اعداد داخل یک آرایه را بتوانیم جابهجا کنیم (آرایه شامل اعداد یکتا می باشد). بدین صورت که در فیلد item عدد مورد نظر و در فیلد count مقدار جابهجایی آن عدد وارد میشود و براساس این مقادیر آرایه اولیه تغییر میکند. همچنین میتوان انتخاب کرد که عدد مورد نظر به سمت پایین یا بالا جابهجا شود.
در برنامه سه نوع خطا وجود دارد:
- خطای INVALID_INPUT: این خطا زمانی اتفاق میافتد که یکی از فیلدها پر نشده باشد.
- خطای NOT_FOUND: این خطا زمانی اتفاق میافتد که عدد وارد شده در آرایه وجود نداشته باشد.
- خطای NOT_POSSIBLE: این خطا زمانی اتفاق میافتد که جابهجایی عدد مورد نظر امکانپذیر نباشد. برای مثال جابهجایی عدد ایندکس اول به سه واحد عقب امکانپذیر نیست. این مورد برای جابهجایی به جلو نیز صادق است.
مواردی که باید در این تمرین رعایت کنید:
- در ابتدا آرایه اولیه باید در المان با ایدی
numbers-container
نمایش داده شود. هر عدد باید داخل یک تگspan
باشند. - هنگام کلیک برروی دکمه submit باید براساس ورودیها آرایه تغییر کند و اعداد جدید براساس مورد قبل نمایش داده شوند.
- اگر یکی از خطاهای بالا در هنگام کلیک برروی دکمه رخ داد، باید در المان با ایدی
error-container
یک تگp
با ایدیerror
نوع خطا نمایش داده شود. (منظور از نوع خطا همان کلمه انگلیسی است.) - در هر لحظه فقط یک خطا نمایش داده شود و ترتیب نمایش باید براساس ترتیت خطاهای گفته شده باشد.
- در هنگام کلیک برروی دکمه باید خطا قبلی (منظور همان تگ
p
با ایدیerror
است.) پاک شود.
نکات
- شما تنها مجاز به اعمال تغییرات در فایل
script.js
هستید. - فقط فایل
script.js
را ارسال کنید.
ارسال پاسخ برای این سؤال