Krok 1: model miesiąca jako tablica tygodni

Kalendarz: logika oddzielona od widoku - Kalendarz w JavaScript krok po kroku (JavaScript)

Model to dane bez wyglądu: `monthWeeks(year, month)` zwraca tablicę tygodni, każdy to 7 pól z numerem dnia albo `null` dla pustego pola. Funkcja nic nie wypisuje i nie zna strony, więc można ją obejrzeć w konsoli wprost: każdy tydzień jako tablica.

// model: miesiąc jako tablica tygodni po 7 pól, puste pola = null
function monthWeeks(year, month) {
  const firstDay = (new Date(year, month - 1, 1).getDay() + 6) % 7;
  const days = new Date(year, month, 0).getDate();
  const cells = Array(firstDay).fill(null);
  for (let d = 1; d <= days; d++) cells.push(d);
  while (cells.length % 7 !== 0) cells.push(null);
  const weeks = [];
  for (let i = 0; i < cells.length; i += 7) weeks.push(cells.slice(i, i + 7));
  return weeks;
}
const weeks = monthWeeks(2026, 11);
console.log('Tygodni: ' + weeks.length);
for (const week of weeks) console.log(week);

Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.

Wszystkie lekcje kursu Kalendarz w JavaScript krok po kroku·Zaloguj się, aby zapisać postęp na koncie.