JavaScript да календарда массивни нормаллаш
Олдинги дарслиқларда сиз
1-сондан охирги ой кунигача бўлган
сонлар массивини яратишингиз керак эди:
let arr = range(getLastDay(year, month));
Шунингдек, сизда ойнинг биринчи куни учун ва охирги куни учун ҳафта кунининг рақами бор:
let firstWeekDay = getFirstWeekDay(year, month);
let lastWeekDay = getLastWeekDay(year, month);
Келингиз, энди биз массивимизни бўш
сатрлар билан ўнгда ва чапда тўлдирамиз. Бунинг учун
normalize функцияси бўлсин, биринчи
параметр сифатида массивни қабул қилади, иккинчиси - чапда
қанча бўш сатр қўшиш кераклиги, учинчиси -
ўнгда қанча бўш сатр қўшиш кераклиги:
function normalize(arr, left, right) {
}
Эслатма, чапда биз firstWeekDay
бўш элементларни қўшишимиз керак,
ўнгда эса - 6 минус
lastWeekDay элементлар. Яъни биз
normalize функциямиздан
шундай фойдаланамиз:
let res = normalize(arr, firstWeekDay, 6 - lastWeekDay);
console.log(res);
Тавсифланган normalize функциясини амалга оширинг
ва унинг ишини текшириб кўринг.