javascript - 根据约翰逊规则对行进行排序
问题描述
我正在尝试对 jQuery 表的行进行排序,我已经阅读了“排序”方法,但我想知道是否还有其他排序方法,因为我不希望它从最高到最低排序。
我有一个产品安排,上面写着在哪台机器和多长时间,我希望它按机器和时间对行进行排序,也就是说,在机器 1 中订购产品,时间最短。而对于机器二,则相反,它按降序排列产品,但我希望所有东西都在同一个数组中。
简而言之,我的意图是用两台机器对约翰逊算法进行编程,但我不知道如何重新排列。
我的桌子:
<div class="card-body">
<table id="example2" class="table table-bordered table-striped">
<thead>
<tr>
<th>Producto</th>
<th>Menor</th>
<th id="Machine">Pertenece a</th>
<th>Hora</th>
</tr>
</thead>
<tbody name="listaElementos2" id="listaElementos2" >
</tbody>
</table>
我的功能:
<script type="text/javascript">
$(document).ready(function(){
$('#analisis').click(function(){
obtenerDatosTabla();
});
});
function obtenerDatosTabla(){
document.getElementById('listaElementos2').innerHTML = '';
$('#example1 tr').map(function(){
//metodo de palmer
let maq1=$(this).find('#OSTHM').eq(0).text();
let maq2=$(this).find('#FTHM').eq(0).text();
let maq3=$(this).find('#DTHM').eq(0).text();
let maq4=$(this).find('#CFTHM').eq(0).text();
let maq5=$(this).find('#DLTHM').eq(0).text();
let maq6=$(this).find('#LBTHM').eq(0).text();
let maq7=$(this).find('#NTHM').eq(0).text();
let maq8=$(this).find('#RMTHM').eq(0).text();
let maq9=$(this).find('#E1THM').eq(0).text();
let maq10=$(this).find('#E2THM').eq(0).text();
let maq11=$(this).find('#LTHM').eq(0).text();
let maq12=$(this).find('#C2THM').eq(0).text();
let maq13=$(this).find('#C3THM').eq(0).text();
let maq14=$(this).find('#EKTHM').eq(0).text();
let maq15=$(this).find('#M1THM').eq(0).text();
let maq16=$(this).find('#M2THM').eq(0).text();
let maq17=$(this).find('#CA1THM').eq(0).text();
let maq18=$(this).find('#CA2THM').eq(0).text();
let maq19=$(this).find('#EFTHM').eq(0).text();
let nombre=$(this).find('#nombre').eq(0).text();
let cantidad=$(this).find('#txt-cant').val();
multi=(2*maq1);
var F1=multi+parseFloat(maq2)+parseFloat(maq3)+parseFloat(maq4)+parseFloat(maq5)+parseFloat(maq6)+
parseFloat(maq7)+parseFloat(maq8)+parseFloat(maq9)+parseFloat(maq10)+parseFloat(maq11)+parseFloat(maq12)+
parseFloat(maq13)+parseFloat(maq14)+parseFloat(maq15)+parseFloat(maq16)+parseFloat(maq17)+parseFloat(maq18);
multi2=(2*maq19);
var F2=parseFloat(maq2)+parseFloat(maq3)+parseFloat(maq4)+parseFloat(maq5)+parseFloat(maq6)+
parseFloat(maq7)+parseFloat(maq8)+parseFloat(maq9)+parseFloat(maq10)+parseFloat(maq11)+parseFloat(maq12)+
parseFloat(maq13)+parseFloat(maq14)+parseFloat(maq15)+parseFloat(maq16)+parseFloat(maq17)+parseFloat(maq18)+multi2;
var M1= "Máquina 1";
var M2= "Máquina 2";
if(F1<=F2){
for (var i = 0; i < cantidad; i++) {
document.getElementById('listaElementos2').innerHTML +=
"<td id=nombre>"+nombre+"</td>"+
"<td id=F1>"+ F1 + "</td>"+
"<td id=M1>"+ M1 + "</td>"
//Llave de If
}
}else{
if(F2<=F1){
for (var i = 0; i < cantidad; i++) {
document.getElementById('listaElementos2').innerHTML +=
"<td id=nombre>"+nombre+"</td>"+
"<td id=F2>"+ F2 + "</td>"+
"<td id=M2>"+ M2 + "</td>"
//Llave de for
}
//Llave de If
}
//Llave de Else
}
});
}
</script>
解决方案
推荐阅读
- html - Woocommerce 单一产品页面,标题、描述和内容都垂直显示在产品图像下方
- sql - 链接到 Access 的 SQL 表显示 0 而不是 NULL
- c++ - 将 const T& 作为 this 传递给 constexpr 成员函数
- c# - 如何使用 C# 在瀑布对话框上调用 QnA Maker?
- java - 如何防止二维数组上的字符串重叠?
- c# - 如何从类的其他位置访问存储在方法中的值
- javascript - 获取文档时出错:clientDetails 错误:无法修改已提交的 WriteBatch
- r - 如何根据每组的月份日期确定变量和滞后之间的差异?
- r - 通过 Xterm 从 linux 命令行运行包含 ggplot 的 Rscript
- assembly - 关于中断 21 小时