Javascript 计算最小值时排除某些行
我有下表,我需要在该列中找到最小值 在本例中,值为20 但是,我需要排除最后两个零件名称,并使用单元格中的其余值来计算最小值。在这种情况下,最小值应为100 以下是我计算最小值的代码: 函数getMin(){ var最大值=0; jQuery(“.used”).each(函数(){ $used=jQuery(this.val(); var usedValue=$used.replace(/,/g,“”); value=parseFloat(usedValue); 最大值=(值>最大值)?值:最大值; }); var min=最大值; jQuery(“.used”).each(函数(){ $used=jQuery(this.val(); var usedValue=$used.replace(/,/g,“”); value=parseFloat(usedValue); 最小值=(值<最小值)?值:最小值; }); jQuery(“.最小值”).val(最小值); }Javascript 计算最小值时排除某些行,javascript,jquery,Javascript,Jquery,我有下表,我需要在该列中找到最小值 在本例中,值为20 但是,我需要排除最后两个零件名称,并使用单元格中的其余值来计算最小值。在这种情况下,最小值应为100 以下是我计算最小值的代码: 函数getMin(){ var最大值=0; jQuery(“.used”).each(函数(){ $used=jQuery(this.val(); var usedValue=$used.replace(/,/g,“”); value=parseFloat(usedValue); 最大值=(值>最大值)?值
循环
这里有一个快速而肮脏的解决方案。循环遍历每行的父对象,如果标签(文本)是这些字符串之一,则忽略used的值
我还更新了minimum函数,在值数组中使用math.min
函数getMin(){
设VAL=[];
$(“.row”).each(函数(){
if($(this).find(“label”).html()!=“Ignore”){
$used=$(this.find(“.used”).val();
var usedValue=$used.replace(/,/g,“”);
vals.push(parseFloat(usedValue));
}
});
设min=Math.min(…VAL);
$(“.minimum”).val(最小值);
}
getMin()代码>
忽略
保持
保持
循环
这里有一个快速而肮脏的解决方案。循环遍历每行的父对象,如果标签(文本)是这些字符串之一,则忽略used的值
我还更新了minimum函数,在值数组中使用math.min
函数getMin(){
设VAL=[];
$(“.row”).each(函数(){
if($(this).find(“label”).html()!=“Ignore”){
$used=$(this.find(“.used”).val();
var usedValue=$used.replace(/,/g,“”);
vals.push(parseFloat(usedValue));
}
});
设min=Math.min(…VAL);
$(“.minimum”).val(最小值);
}
getMin()代码>
忽略
保持
保持
循环
您可以这样做:在each()
函数中排除第一列包含要排除的两个字符串中的任何一个的每个
:
函数getMin(){
var最大值=0;
jQuery(“.used”).each(函数(){
$used=jQuery(this.val();
var usedValue=$used.replace(/,/g,“”);
value=parseFloat(usedValue);
最大值=(值>最大值)?值:最大值;
});
var min=最大值;
jQuery(“tr”)。每个(函数(){
var check=jQuery(this.find)(“td:nth child(1)”).text();
如果(!检查包括(“风机叶片”)和(!检查包括(“环形填料”))
{
$used=jQuery(this.val();
var usedValue=$used.replace(/,/g,“”);
value=parseFloat(usedValue);
最小值=(值<最小值)?值:最小值;
}
});
jQuery(“.最小值”).val(最小值);
}
getMin()代码>
风扇叶片(26个)
环空填料(26个)
循环
您可以这样做:在each()
函数中排除第一列包含要排除的两个字符串中的任何一个的每个
:
函数getMin(){
var最大值=0;
jQuery(“.used”).each(函数(){
$used=jQuery(this.val();
var usedValue=$used.replace(/,/g,“”);
value=parseFloat(usedValue);
最大值=(值>最大值)?值:最大值;
});
var min=最大值;
jQuery(“tr”)。每个(函数(){
var check=jQuery(this.find)(“td:nth child(1)”).text();
如果(!检查包括(“风机叶片”)和(!检查包括(“环形填料”))
{
$used=jQuery(this.val();
var usedValue=$used.replace(/,/g,“”);
value=parseFloat(usedValue);
最小值=(值<最小值)?值:最小值;
}
});
jQuery(“.最小值”).val(最小值);
}
getMin()代码>
风扇叶片(26个)
环空填料(26个)
循环
我会以某种方式在HTML中标记这些不同的行,比如用排除
类。用JavaScript硬编码标签会带来麻烦
下面是一个示例,对最后两个
使用excluded
类:
const min=Math.min(…$):未(.excluded).used').map(函数(){
返回编号($(this.val());
}).get());
我会以某种方式在HTML中标记这些不同的行,比如用排除的类。用JavaScript硬编码标签会带来麻烦
下面是一个示例,对最后两个
使用excluded
类:
const min=Math.min(…$):未(.excluded).used').map(函数(){
返回编号($(this.val());
}).get());
关于这些被排除的行,是否有任何信息表明您希望它们被排除?或者您只想将它们硬编码为“最后两行”(听起来是个坏主意)?@RoboRobok它说“基于这两个字符串值”@RoboRobok不,我没有任何东西可以排除它们,因为我需要在页面上的其余计算中使用它,并且我需要只为特定列硬编码。我建议在HTML代码中添加一些东西,以某种方式标记这些行。在JS中硬编码这些名称会带来麻烦。不需要有两个循环。您可以在同一个循环中设置最小值和最大值。这些被排除的行是否有任何信息表明您希望它们被排除?或者您只想将它们硬编码为“最后两行”(听起来是个坏主意)?@RoboRobok它说“基于这两个字符串值”@RoboRobok不,我没有任何东西可以排除它们,因为我需要在页面上的其余计算中使用它,并且我需要只为特定列硬编码。我建议在HTML代码中添加一些东西,以某种方式标记这些行。在JS中硬编码这些名称会带来麻烦。没有必要