从一年中的几天开始使用HTML填充Bootstrap表

问题描述

我正在尝试用一年中的几天填充Bootsrap表。目标是产生一个垂直的资产垂直日历视图,该项目处于诞生阶段……而且我是编码的新手,所以请保持友善。

如何填充表格? 我收到错误消息: days.forEach不是一个函数

任何帮助或指导将不胜感激!

function daysOfAYear(year) 
{
  return isLeapYear(year) ? 366 : 365;
}
function isLeapYear(year) {
     return year % 400 === 0 || (year % 100 !== 0 && year % 4 === 0);
}

const days = daysOfAYear(2020);


// populate das in table...
function showDays(days) {
    let output = '';
    
    days.forEach(day => {
    output += `
    <th scope="col">${day}</th>
    `;
    });

    // Output days
    document.getElementById('date-calendar').insertBefore(output)

};
console.log(showDays(days));

这是我的HTML的一部分:

    <div class="table-responsive">
        <table class="table table-striped table-sm">
          <thead>
            <tr>
              <th colspan="6" class="text-center">January</th>
            </tr>
          </thead>
          <thead>
            <tr>
              <th>Name</th>
              <th>01.01</th>
              <th>02.01</th>
              <th>03.01</th>
              <th>04.01</th>
            </tr>
          </thead>
          <tbody class="date-calendar">
            <tr>
              <td>John Doe</td>
              <td>Lorem</td>
              <td>ipsum</td>
              <td>dolor</td>
              <td>sit</td>
            </tr>
            
          </tbody>
        </table>
      </div>

解决方法

forEach方法遍历数组,将您的值days转换为整数。

要解决此问题,您需要使用for循环,请参见此处的一些文档:math.hypot()

在您的情况下,for循环为

for (let day = 1; day <= days; day++) {
    output += `
    <th scope="col">${day}</th>
    `;
}