[英]join() JS for HTML tables
我需要使用join()作為JS自己的方法來向這些數組中的值添加表格格式。 這是我要顯示兩個數組的示例,表布局應如下所示。
這是我的代碼的一部分 ; 不好地工作不正常,因為我在運行時得到了錯誤的“ L”表樣式格式。
我知道解析這樣的HTML看起來很糟糕,但是此代碼位於Google Apps腳本中,因此該表將通過電子郵件發送給它。
任何想法如何獲得正確的格式?
謝謝。
|-------|-------|
| 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>";
在這種情況下, 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>";
我認為這是您需要看到的:
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樣式。 您也應該閱讀我在上面的評論。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.