【发布时间】:2017-05-23 09:45:34
【问题描述】:
我正在尝试用 moment.js 对象填充表格,其中每个列上的每个日期的值。我试图填充表格的数组如下所示:
[['8th Jan 11AM', '8th Jan 12AM'],['9th Jan 11AM', '9th Jan 12AM'],['10th Jan 11AM', '10th Jan 12AM']]
我正在创建该数组:
for (var i = 0; i < 7; i++) {
thisMoment = moment().day(i);
var dayDateStamps = [];
for (var j = 0; j < 12; j++) {
dayDateStamps.push(thisMoment.startOf('day').add(j + 6, 'hours').format('lll'));
}
dateStamps.push(dayDateStamps);
}
要生成表格,我正在这样做:
function bodyFromDateStamps(dateStamps) {
var tbody = document.getElementsByTagName('tbody')[0];
for(var i = 0; i < countMultiArray(dateStamps); i++) {
if (i % 7 == 0) {
row = tbody.insertRow(tbody.rows.length);
}
row.insertCell(i % 7).innerHTML = dateStamps[i % 7][i];
}
}
function countMultiArray(array) {
var iter = 0
for (var i = 0; i < array.length; i++) {
for (var j = 0; j < array[i].length; j++) {
iter += 1
}
}
return iter;
}
我得到了适量的单元格 (84),但内容在“小时”循环的 1 次迭代后停止。我无法弄清楚我在哪里出错了。
我该如何解决这个问题,有没有更好的方法来解决这个问题? 非常感谢任何帮助!
【问题讨论】:
标签: javascript arrays multidimensional-array html-table