var tmu, categories = [['Morning','am'],['Evening','pm']],
days = ['mon', 'tue', 'wen', 'thu', 'fri', 'sat', 'sun'],
fullDay, i;

tmu += '<table>';

categories.forEach(function(ele){
tmu += '<tr id="periodTitle">';
tmu += '<td colspan=7 style="text-align:center;">'+ele[0]+'</td>';
tmu += '</tr>';
for(i = 0; i <= 6; i++){
tmu += '<td id="'+days[i]+'-'+ele[1]+'">x</td>';
}
});
tmu += "</table>";
console.log(tmu);


我正在尝试编写一些代码来循环一些表的创建,但是它一直在循环的开头添加undefined文本,我不确定为什么,其他所有方法都很好。关于如何发生的任何想法?

fiddle link is here。感谢您的任何帮助!

最佳答案

这将解决它:

var tmu = '';

在声明变量但未分配值时,tmu将为undefined,而当您执行tmu += '<table>';时,tmu将被强制转换为字符串-即未定义。

关于javascript - javascript forEach输出中的未定义字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21328391/

10-09 20:14