Нормализация массива в календаре на JavaScript
В предыдущих уроках вы должны были сделать массив чисел от 1 до последнего дня месяца:
В предыдущих уроках вы должны были сделать массив чисел от 1 до последнего дня месяца:
let arr = range(getLastDay(year, month));
Также у вас есть номер дня недели для первого дня месяца и для последнего:
Также у вас есть номер дня недели для первого дня месяца и для последнего:
let firstWeekDay = getFirstWeekDay(year, month);
let lastWeekDay = getLastWeekDay(year, month);
Давайте теперь дополним наш массив пустыми строками справа и слева. Пусть для этого у нас будет функция normalize, первым параметром принимающая массив, вторым - сколько пустых строк добавить слева, а третьим - сколько пустых строк справа:
let lastWeekDay = getLastWeekDay(year, month);
Давайте теперь дополним наш массив пустыми строками справа и слева. Пусть для этого у нас будет функция normalize, первым параметром принимающая массив, вторым - сколько пустых строк добавить слева, а третьим - сколько пустых строк справа:
function normalize(arr, left, right) {
}
Напоминаю, что слева мы должны добавить firstWeekDay пустых элементов, а справа - 6 минус lastWeekDay элементов. То есть мы будем пользоваться нашей функцией normalize вот так:
}
Напоминаю, что слева мы должны добавить firstWeekDay пустых элементов, а справа - 6 минус lastWeekDay элементов. То есть мы будем пользоваться нашей функцией normalize вот так:
let res = normalize(arr, firstWeekDay, 6 - lastWeekDay);
console.log(res);
console.log(res);