⊗jsPrCndTD 53 of 62 menu

Дискусија за имплементација на календар во JavaScript

Нашиот календар претставува табела со броеви од 1 до последниот ден од месецот. Проблемот е што броевите во табелата во првиот ред не треба да започнуваат од првата ќелија.

Ова во принцип е очигледно. Не е очигледно од која точно ќелија треба да се започне. Ајде да размислиме.

Нека неделата започнува од понеделник, и тој е нулти ден. Во овој случај, бројот на денот од неделата на првиот ден од месецот одговара на бројот на празни ќелии пред него. На пример, четвртокот ќе има број 3 и пред него ќе има 3 празни ќелии.

Сличен проблем ќе ни се појави на крајот од табелата. Таму исто така треба да се остават празни ќелии после последниот број на месецот. Во овој случај бројот на празни ќелии ќе биде еднаков на шестката, од која треба да се одземе бројот на денот од неделата на последниот ден од месецот.

Да размислиме сега, како ќе ја формираме нашата табела. Очигледно е дека најпогодно е да имаме дводимензионална низа, во секоја подниза од која ќе има по 7 елементи (= број на дени во неделата). При тоа, во првата и последната подниза дел од елементите треба да бидат празни.

Алгоритам на дејства

Ќе направиме функција, која ќе создава низа од броеви од 1 до последниот ден од месецот. Потоа ќе направиме функција, која ќе додаде на почетокот на низата потребниот број празни елементи. Слична функција треба да додава празни елементи на крајот на низата.

После ова, ќе добиеме еднодимензионална низа со број на елементи, делив со 7. Ќе ја трансформираме оваа низа во дводимензионална со по 7 елементи во поднизата.

Потоа ќе ја земеме оваа дводимензионална низа, ќе ја итерираме со цикли и ќе ја формираме нашата табела.

Овој алгоритам на дејства ќе го извршуваме фаза по фаза во следните лекции.

Македонски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј