var dates = ["2015-7-1", "2015-7-2", "2015-7-3"];
var names = ["張三","李四","王五","趙六"];
// 假設內容資料對應 dates × names 矩陣
var content = [
["A1","A2","A3"],
["B1","B2","B3"],
["C1","C2","C3"],
["D1","D2","D3"]
];
function buildTable(dates, names, content) {
var html = ['<table border="1">'];
// 表頭
html.push('<tr><th></th>');
dates.forEach(d => html.push('<th>' + d + '</th>'));
html.push('</tr>');
// 資料列
names.forEach((name, i) => {
html.push('<tr><td>' + name + '</td>');
content[i].forEach(val => html.push('<td>' + val + '</td>'));
html.push('</tr>');
});
html.push('</table>');
return html.join('');
}
document.getElementById('container').innerHTML = buildTable(dates, names, content);
cols 陣列動態定義欄位,支援分頁/排序/匯出。雙重迴圈(列 × 行)構建 `
join('') 比字串連接效能更好,最後一次性 innerHTML 寫入容器減少回流。