JavaScript统计表的实现流程
1. 准备工作
在开始编写JavaScript统计表之前,首先需要准备好HTML和CSS部分的代码,用于展示表格和样式。
HTML代码
<!DOCTYPE html>
<html>
<head>
<title>JavaScript统计表</title>
<link rel="stylesheet" type="text/css" href="styles.css">
</head>
<body>
<div id="table-container">
<table id="data-table"></table>
</div>
<script src="script.js"></script>
</body>
</html>
CSS代码
table {
border-collapse: collapse;
}
th, td {
border: 1px solid black;
padding: 8px;
}
#table-container {
width: 600px;
margin: 0 auto;
}
这段HTML代码定义了一个包含表格的div容器,并引入了一个外部的CSS文件用于样式定义。CSS部分的代码则设置了表格的边框样式和容器的宽度。
2. JavaScript代码编写
在准备好HTML和CSS之后,就可以开始编写JavaScript代码来实现统计表了。
步骤1:获取要统计的数据
首先,你需要获取要统计的数据。这可以是来自数据库、服务器接口或用户输入的数据。在这个例子中,我们假设数据已经存在,并存储在一个数组中。
var data = [
{ name: 'John', age: 25, score: 80 },
{ name: 'Jane', age: 30, score: 90 },
{ name: 'Tom', age: 28, score: 75 },
// ... 添加更多数据
];
这个数组中的每个对象代表一个数据行,包含了姓名、年龄和分数等属性。
步骤2:创建表头
在表格中,首先需要有一个表头来显示各列的标题。可以使用JavaScript动态创建表格的表头。
var table = document.getElementById('data-table');
var thead = table.createTHead();
var row = thead.insertRow();
var headers = ['姓名', '年龄', '分数'];
for (var i = 0; i < headers.length; i++) {
var th = document.createElement('th');
th.innerHTML = headers[i];
row.appendChild(th);
}
这段代码首先获取到表格的DOM元素,然后创建表头的thead,再插入一个空行。接下来,通过循环创建表头中的每个单元格,并设置其innerHTML为对应的标题。
步骤3:填充表格数据
完成表头的创建之后,接下来需要填充表格的数据。可以使用JavaScript动态创建表格的数据行。
var tbody = document.createElement('tbody');
for (var i = 0; i < data.length; i++) {
var row = tbody.insertRow();
var nameCell = row.insertCell();
nameCell.innerHTML = data[i].name;
var ageCell = row.insertCell();
ageCell.innerHTML = data[i].age;
var scoreCell = row.insertCell();
scoreCell.innerHTML = data[i].score;
}
table.appendChild(tbody);
这段代码首先创建一个tbody元素用于存放表格的数据行。然后通过循环遍历数据数组,为每个数据行创建一个新的表格行。在每个表格行中,插入对应的单元格并设置其innerHTML为数据属性的值。
最后,将tbody添加到表格中。
步骤4:计算统计结果
完成表格数据的填充之后,接下来需要计算统计结果。可以使用JavaScript计算各列的总和、平均值等统计数据。
var sum = 0;
var max = -Infinity;
var min = Infinity;
for (var i = 0; i < data.length; i++) {
sum += data[i].score;
if (data[i].score > max) {
max = data[i].score;
}
if (data[i].score < min) {
min = data[i].score;
}
}
var average = sum / data.length;
console.log('总分:' + sum);
console.log('平均分:' + average);
console.log('最高分:' + max);
console.log('最低分:' + min);
这段代码通过循环遍历数据数组,累加分数求和,并记录最高分和最