⊗jsPrCndTD 53 of 62 menu

JavaScript-da kalendar amalga oshirishni muhokama qilish

Bizning kalendarimiz oyning oxirgi kunigacha 1 dan boshlanadigan raqamlardan iborat jadvaldir. Muammo shundaki, jadvaldagi raqamlar birinchi qatorda birinchi katakdan boshlanmasligi kerak.

Bu umuman olganda aniq. Qaysi aniq katakdan boshlash kerakligi aniq emas. Keling, o'ylab ko'raylik.

Faraz qilaylik, hafta dushanbadan boshlansin va u nolinchi kun. Bu holda oyning birinchi kuni hafta kunining raqami uning oldidagi bo'sh kataklar soniga to'g'ri keladi. Masalan, payshanba 3 raqamiga ega bo'ladi va uning oldida 3 ta bo'sh katak bo'ladi.

Shu o'xshash muammo bizni jadvalning oxirida ham kutadi. U yerda ham oyning oxirgi raqamidan keyin bo'sh kataklarni qoldirish kerak. Bu holda bo'sh kataklar soni oltidan oyning oxirgi kunining hafta kun raqamini ayirishga teng bo'ladi.

Keling, endi jadvalimizni qanday shakllantirishimiz haqida o'ylaymiz. Aniqki, qulayroq usul ikki o'lchamli massivga ega bo'lish bo'lib, unda har bir ichki massivda 7 ta element bo'ladi (= haftadagi kunlar soni). Bunda birinchi va oxirgi ichki massivlarning bir qismi bo'sh bo'lishi kerak.

Amallar algoritmi

Keling, 1 dan oyning oxirgi kunigacha bo'lgan raqamlar massivini yaratadigan funksiya yarataylik. Keyin massiv boshiga kerakli miqdorda bo'sh elementlarni qo'shadigan funksiya yarataylik. Shu o'xshash funksiya massiv oxiriga bo'sh elementlarni qo'shishi kerak.

Shundan so'ng bizda elementlari soni 7 ga karrali bo'lgan bir o'lchamli massiv hosil bo'ladi. Ushbu massivni 7 ta elementli ichki massivlarga ega ikki o'lchamli massivga aylantiramiz.

Keyin bu ikki o'lchamli massivni olamiz, tsikllar bilan qayta ishlaymiz va jadvalimizni shakllantiramiz.

Ushbu amallar algoritmini bosqichma-bosqich keyingi darslarda bajaramiz.

Oʻzbek
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекTiếng Việt
Biz sayt ishlashi, tahlil qilish va shaxsiylashtirish uchun cookie-fayllardan foydalanamiz. Ma'lumotlarni qayta ishlash Maxfiylik siyosatiga muvofiq amalga oshiriladi.
hammasini qabul qilish sozlash rad etish