问题描述
我正在尝试用一年中的几天填充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>
`;
}