JavaScript-da kalendar massivini normalizatsiya qilish
Oldingi darslarda siz
1-dan oyning oxirgi kunigacha bo'lgan
raqamlar massivini yaratishingiz kerak edi:
let arr = range(getLastDay(year, month));
Shuningdek, sizda oyning birinchi kuni va oxirgi kuni uchun hafta kunining raqami mavjud:
let firstWeekDay = getFirstWeekDay(year, month);
let lastWeekDay = getLastWeekDay(year, month);
Keling, endi massivni bo'sh
satrlar bilan chap va o'ng tomondan to'ldiramiz.
Buning uchun normalize funktsiyasi bo'lsin,
birinchi parametr massivni, ikkinchisi - chap tomonga
qancha bo'sh satr qo'shish, uchinchisi -
o'ng tomonga qancha bo'sh satr qo'shishni bildirsin:
function normalize(arr, left, right) {
}
Eslatma, chap tomonga firstWeekDay
bo'sh element qo'shishimiz kerak, o'ng tomonga esa -
6 minus lastWeekDay element.
Ya'ni biz normalize funktsiyasidan
quyidagicha foydalanamiz:
let res = normalize(arr, firstWeekDay, 6 - lastWeekDay);
console.log(res);
Tasvirlangan normalize funktsiyasini amalga oshiring
va uning ishlashini tekshiring.