0

我需要在我的日历应用程序中调整空白天。应该有 35 个块来组成日历,但我需要用其中的 30 个项目填充数组。有没有允许这样做的方法?

到目前为止,这只是推动了日子,但你会注意到最后几天的延伸。我怎样才能在我的数组中获得空白天?我想我需要确保日历总是 35 项。

所以我想要 [null, null, 0, 1, 2, 3, 4, 5...一个月的最后一天]。几乎像弯曲端。

例子:

var monthIndex = 0;
var calendarDays = [];
var daysInMonth = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 31];


 function updateCalendar() {
      calendarDays = [];
      for (let i = 0; i < daysInMonth[monthIndex]; i++) {
        calendarDays.push(i);
      }
 },

在此处输入图像描述

4

1 回答 1

1

您可以使用#Array.fill然后映射值,例如

new Array(35).fill(" ").map((_, i) => i <= daysInMonth[monthIndex] ? i : '')

var calendarDays = [];
var daysInMonth = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 31];


function updateCalendar(monthIndex) {
  calendarDays = new Array(35).fill(" ").map((_, i) => i <= daysInMonth[monthIndex] ? i : '');
  return calendarDays;
}

console.log(updateCalendar(0))
console.log(updateCalendar(1))

于 2022-01-28T17:59:36.673 回答