js按table某列的内容进行排序并该列内容次数越少越排后
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
:js按table某列的内容进行排序并该列内容次数越少越排后 function sortTableByColumn_count(myTable, columnIndex, isNumber) { const table = document.getElementById(myTable); var tbody = table.tBodies[0]; var rows = Array.from(tbody.rows); var firstRow = rows.shift(); tbody.deleteRow(0); // 移除原始的表头 table.insertBefore(firstRow, tbody); // 将表头重新添加到表格
rows.sort(function(a, b) { var cellA = a.cells[columnIndex]; var cellB = b.cells[columnIndex]; if (isNumber) { return parseFloat(cellA.textContent) - parseFloat(cellB.textContent); } else { return cellA.textContent.localeCompare(cellB.textContent); } });
// 计算每个数值出现的次数 var counts = rows.reduce(function(counts, row) { var value = row.cells[columnIndex].textContent; counts[value] = (counts[value] || 0) + 1; return counts; }, {});
// 根据出现次数倒序排序 rows.sort(function(a, b) { return counts[b.cells[columnIndex].textContent] - counts[a.cells[columnIndex].textContent]; });
for(var i = 0; i < rows.length; i++) { tbody.appendChild(rows[i]); } } 该文章在 2024/12/6 9:33:49 编辑过 |
关键字查询
相关文章
正在查询... |