JavaScript တွင် ပြက္ခဒိန် အကောင်အထည်ဖော်မှု ဆွေးနွေးခြင်း
ကျွန်ုပ်တို့၏ ပြက္ခဒိန်သည် လ၏ ပထမဆုံးရက်မှ နောက်ဆုံးရက်အထိ နံပါတ်များပါသော ဇယားတစ်ခု ဖြစ်သည်။ ပြဿနာမှာ ဇယားရှိ နံပါတ်များသည် ပထမအတန်းတွင် ပထမဆဲလ်မှ စတင်ရမည် မဟုတ်ပါ။
ဤအချက်သည် ယေဘုယျအားဖြင့် သိသာပါသည်။ မည်သည့်ဆဲလ်မှ စတင်ရမည်ကိုမူ သိသာထင်ရှားခြင်း မရှိပါ။ စဉ်းစားကြည့်ကြပါစို့။
အပတ်စဉ်သည် တနင်္လာနေ့မှစပါစို့၊ ထို့ပြင် ၎င်းသည် သုညကြိမ်မြောက်နေ့ ဖြစ်ပါစို့။ ဤကိစ္စတွင် လ၏ပထမရက်၏ အပတ်စဉ်နေ့နံပါတ်သည် ၎င်းမတိုင်မီရှိ ဗလာဆဲလ်အရေအတွက်နှင့် ကိုက်ညီပါသည်။ ဥပမာ၊ ကြာသပတေးနေ့သည် 3 အမှတ်အသားရှိမည်ဖြစ်ပြီး ၎င်းမတိုင်မီတွင် 3 ခုသော ဗလာဆဲလ်များ ရှိမည်ဖြစ်သည်။
ဇယား၏အဆုံးတွင်လည်း ဆင်တူသောပြဿနာကို ရင်ဆိုင်ရပါမည်။ ထိုနေရာတွင်လည်း လ၏နောက်ဆုံးရက်ပြီးနောက် ဗလာဆဲလ်များကို ချန်ထားရပါမည်။ ဤကိစ္စတွင် ဗလာဆဲလ်အရေအတွက်သည် ခြောက်မှ လ၏နောက်ဆုံးနေ့၏ အပတ်စဉ်နေ့နံပါတ်ကို နှုတ်ရမည့် ကိန်းဖြစ်ပါမည်။
ယခု ကျွန်ုပ်တို့၏ဇယားကို မည်သို့ဖွဲ့စည်းမည်ကို စဉ်းစားကြည့်ပါ။ အဆင်အပြေဆုံးနည်းလမ်းမှာ ဒိုင်မန်းရှင်းနှစ်ခုပါသော အခင်းအကျင်း (two-dimensional array) တစ်ခုရှိခြင်းဖြစ်ပြီး၊ ၎င်း၏ အတွင်းအခင်းအကျင်းခွဲတစ်ခုစီတွင် အပိုင်း7 ခုစီရှိသော အစုအဝေးများ (= တစ်ပတ်အတွင်းရှိ ရက်အရေအတွက်) ရှိမည်ဖြစ်သည်။ ထိုသို့ဖြစ်လျှင် ပထမနှင့် နောက်ဆုံးအတွင်းအခင်းအကျင်းခွဲများတွင် အစုအဝေးအချို့သည် ဗလာဖြစ်နေရပါမည်။
လုပ်ဆောင်ချက်များ၏ အယ်လ်ဂိုရစ်သမ်
လ၏ ပထမဆုံးရက်မှ နောက်ဆုံးရက်အထိ နံပါတ်များပါသော အခင်းအကျင်းတစ်ခုကို ပြုလုပ်ပေးမည့် လုပ်ဆောင်ချက် (function) တစ်ခုကို ပြုလုပ်ပါမည်။ ထို့နောက် အခင်းအကျင်း၏အစတွင် လိုအပ်သော ဗလာအစုအဝေးအရေအတွက်ကို ပေါင်းထည့်ပေးမည့် လုပ်ဆောင်ချက်တစ်ခုကို ပြုလုပ်ပါမည်။ အလားတူလုပ်ဆောင်ချက်တစ်ခုသည် အခင်းအကျင်း၏အဆုံးသို့ ဗလာအစုအဝေးများကို ပေါင်းထည့်ပေးရပါမည်။
ထို့နောက် ကျွန်ုပ်တို့တွင် အပိုင်း7 အရေအတွက်နှင့် ညီမျှသော အစုအဝေးအရေအတွက်ပါသည့် ဒိုင်မန်းရှင်းတစ်ခုတည်းသော အခင်းအကျင်း (one-dimensional array) ရရှိပါမည်။
ဤအခင်းအကျင်းကို အတွင်းအခင်းအကျင်းခွဲတစ်ခုစီတွင် အပိုင်း7 ခုစီပါသော ဒိုင်မန်းရှင်းနှစ်ခုပါသော အခင်းအကျင်း (two-dimensional array) အဖြစ်သို့ ပြောင်းလဲပါမည်။
ထို့နောက် ဤဒိုင်မန်းရှင်းနှစ်ခုပါသော အခင်းအကျင်းကို ယူပြီး ကွင်းဆက်များဖြင့် ထပ်ကျော့လုပ်ကာ ကျွန်ုပ်တို့၏ဇယားကို ဖွဲ့စည်းပါမည်။
ဤလုပ်ဆောင်ချက်များ၏ အယ်လ်ဂိုရစ်သမ်းကို ကျွန်ုပ်တို့သည် နောက်လာမည့်သင်ခန်းစာများတွင် အဆင့်ဆင့်လုပ်ဆောင်သွားပါမည်။