【发布时间】:2012-09-14 03:49:34
【问题描述】:
我正在创建一个 javascript 函数来构建当前月份的日历(在 <table> 中)的 html。该函数的参数之一是是写出星期几还是使用它们的首字母。全名和首字母都包含在数组中。该函数将遍历其中一个数组以构建包含星期几的表格单元格。选择要循环的数组的最佳方法是什么?或者我应该以完全不同的方式构建这段代码?
说明我的问题的代码:
buildCalendar(useFullNames){
var fullNames = ['Sunday', 'Monday'], // etc.
initials = ['S', 'M'],
calString = '<tr>';
if(useFullNames) {
// use fullNames array in the loop
}
else {
// use initials array in loop
}
for(i=0; i<7; i++)
{
// Need to loop over the array picked above
calString += '<td>' + relevantArray[i] + '</td>';
}
calString += '</tr>';
}
【问题讨论】:
-
你可以将你想要的数组保存在一个变量中,但是首先创建一个二维数组怎么样?根据 useFullNames,第一个索引可以是 0 或 1。
-
但条件语句一次比每次循环都更容易。
-
@dmr 无论您最终使用哪种解决方案,您都可能希望循环使用
i<relevantArray.length而不是i<7,以防您想在一周内更改范围。这样,您不必在多个地方更新代码,并且“更安全”。不太重要,特别是因为我确信它永远是 7,但仍然......
标签: javascript html arrays loops