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

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

آدرس‌ساز


مهارت‌های لازم:

  • آشنایی با جاوااسکریپت

پروژه اولیه🔗

پروژه اولیه را از این لینک دانلود کنید.

ساختار پروژه
url-generator
├── 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 را در مرورگر خود باز کنید.

جزئیات🔗

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

ظاهر برنامه

در این سوال می‌خواهیم برنامه‌ای بنویسیم که کاربر مقادیری را بعنوان parameter و query وارد کند و URL مورد نظر کاربر ساخته شود.

مواردی که باید در این سوال رعایت کنید:🔗

  • کاربر می‌تواند به هر میزان parameter و query اضافه کند با هر بار اضافه کردن یک اینپوت جدید باید ساخته شود. در هربار اضافه کردن مورد جدید باید چک شود که مقدار اینپوت قبلی خالی نباشد. در صورت خالی بودن نباید المانی اضافه شود.
  • کاربر می‌تواند رشته خالی وارد کند ولی در قسمت ساخت URL نباید آن مقدار آورده شود.
  • در هنگام اضافه کردن مورد جدید باید المان (div) با کلاس keyValue-box به #params-container یا #queries-container اضافه شود. دقت کنید المان (div) را باید خودتان بسازید. (نمونه هر مورد در HTML اولیه آورده شده است.)
  • تمام parameter و query به baseUrl که در پروژه اولیه است اضافه می‌شود.
  • دقت شود در قسمت query ها اگر دو query دارای کلید یکسان باشد، درصورت معتبر بودن هر دو، مقدار دومی باید قرار داده شود. (به مثال پنجم مراجعه کنید.)

مثال🔗

ورودی نمونه ۱🔗

params: paramOne
Plain text

خروجی نمونه ۱🔗

https://website.ir/paramOne
Plain text

ورودی نمونه ۲🔗

queries: Key=queryOne Value=One
Plain text

خروجی نمونه ۲🔗

https://website.ir?queryOne=one
Plain text

ورودی نمونه ۳🔗

params: paramOne
queries: Key=queryOne Value=one
Plain text

خروجی نمونه ۳🔗

https://website.ir/paramOne?queryOne=one
Plain text

ورودی نمونه ۴🔗

params: paramOne, paramTwo
queries: Key=queryOne Value=one, Key=queryTwo Value=two
Plain text

خروجی نمونه ۴🔗

https://website.ir/paramOne/paramTwo?queryOne=one&queryTwo=two
Plain text

ورودی نمونه ۵🔗

queries: Key=queryOne Value=one, Key=queryTwo Value=  (empty space), Key=queryTwo Value=two
Plain text

خروجی نمونه ۵🔗

https://website.ir?queryOne=one&queryTwo=two
Plain text

نکات🔗

  • شما تنها مجاز به اعمال تغییرات در فایل script.js هستید.
ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.