Normalizacja tablicy w kalendarzu w JavaScript
W poprzednich lekcjach powinniście byli utworzyć
tablicę liczb od 1 do ostatniego dnia miesiąca:
let arr = range(getLastDay(year, month));
Macie także numer dnia tygodnia dla pierwszego dnia miesiąca i dla ostatniego:
let firstWeekDay = getFirstWeekDay(year, month);
let lastWeekDay = getLastWeekDay(year, month);
Teraz uzupełnijmy naszą tablicę pustymi
ciągami znaków z prawej i lewej strony. Niech do tego celu
będzie funkcja normalize, przyjmująca jako pierwszy
parametr tablicę, drugi - ile pustych ciągów dodać z lewej strony, a trzeci -
ile pustych ciągów z prawej strony:
function normalize(arr, left, right) {
}
Przypominam, że z lewej strony powinniśmy dodać firstWeekDay
pustych elementów, a z prawej - 6 minus
lastWeekDay elementów. Czyli będziemy
używać naszej funkcji normalize
w ten sposób:
let res = normalize(arr, firstWeekDay, 6 - lastWeekDay);
console.log(res);
Zaimplementujcie opisaną funkcję normalize
i sprawdźcie jej działanie.