用js写一个冒泡排序的表格
时间: 2024-03-20 20:40:01 浏览: 10
好的,以下是使用 JavaScript 实现冒泡排序并生成表格的代码示例:
HTML 代码:
```html
<table id="sortTable">
<thead>
<tr>
<th>序号</th>
<th>姓名</th>
<th>成绩</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>张三</td>
<td>80</td>
</tr>
<tr>
<td>2</td>
<td>李四</td>
<td>90</td>
</tr>
<tr>
<td>3</td>
<td>王五</td>
<td>75</td>
</tr>
<tr>
<td>4</td>
<td>赵六</td>
<td>85</td>
</tr>
</tbody>
</table>
```
JavaScript 代码:
```js
// 获取表格元素
const table = document.getElementById("sortTable");
// 获取表格中的数据
const data = [];
const tbody = table.getElementsByTagName("tbody")[0];
const rows = tbody.getElementsByTagName("tr");
for (let i = 0; i < rows.length; i++) {
const row = rows[i];
const cells = row.getElementsByTagName("td");
const rowData = [];
for (let j = 0; j < cells.length; j++) {
rowData.push(cells[j].innerText);
}
data.push(rowData);
}
// 冒泡排序
for (let i = 0; i < data.length - 1; i++) {
for (let j = 0; j < data.length - 1 - i; j++) {
if (parseInt(data[j][2]) > parseInt(data[j + 1][2])) {
const temp = data[j];
data[j] = data[j + 1];
data[j + 1] = temp;
}
}
}
// 生成排序后的表格
const newTbody = document.createElement("tbody");
for (let i = 0; i < data.length; i++) {
const newRow = document.createElement("tr");
for (let j = 0; j < data[i].length; j++) {
const newCell = document.createElement("td");
newCell.innerText = data[i][j];
newRow.appendChild(newCell);
}
newTbody.appendChild(newRow);
}
table.replaceChild(newTbody, tbody);
```
以上代码会将表格按照第三列(成绩)从小到大进行排序,并生成排序后的表格。