HTML 表格的 join() JS
2014-09-12
375
我需要使用 join() 作为 JS 自己的方法,为这些数组中的值添加表格格式。 这是我要显示的两个数组的示例,表格布局应如下所示。
这是 我的代码的一部分 ;显然无法正常工作,因为运行时我得到了错误的“L”表格样式格式。
I know its look terrible to parse HTML like that, but this code is in Google Apps Scripts, so this table is gonna be send it by email.
知道如何获取正确的格式吗?
谢谢。
|-------|-------|
| user | skill |
|-------|-------|
| user | skill |
|-------|-------|
body +=
"<table style=" + STYLE.TABLE + ">" +
outUsers.join("<tr><td style=" + STYLE.TD + ">") + "</td></tr>" +
outSkills.join("<tr><td style=" + STYLE.TD + ">") + "</td></tr>" +
"</table>";
2个回答
在这种情况下,
Array.prototype.join()
无法完成工作,我将改用
Array.prototype.reduce()
以下是它可能的样子:
根据 PHPglue 评论 编辑,将用户和技能放在同一行:
var body ='';
var outUsers = ['me', 'you', 'her'],
outSkills = ['eating', 'sleeping', 'working hard'],
STYLE = {
TABLE: "border: red;",
TD: "border: blue;"
},
getTR = function (prev, curr, index) {
return prev + '<tr>' + openingTD + curr + '</td>' + openingTD + outSkills[index] + '</td></tr>';
};
var openingTD = '<td style="' + STYLE.TD + '">';
body += '<table style="' + STYLE.TABLE + '">' +
outUsers.reduce(getTR, '') +
"</table>";
axelduch
2014-09-12
我认为您需要查看以下内容:
var table = '<table><tbody>';
for(var i=0,l=outUsers.length; i<l; i++){
table += '<tr><td>'+outUsers[i]+'</td><td>'+outSkills[i]+'</td></tr>';
}
table += '</tbody></table>';
您应该使用 CSS 进行样式设置。您还应该阅读我上面的评论。
StackSlave
2014-09-12