在javascript数组中查找最小最大值

在javascript数组中查找最小最大值,javascript,Javascript,我有一些像这样的数组,数组中的数字代表插槽数 slots1={3,4,5,6} slots2={1,2,3,4,5,6} slots3={8,9,10} 我正在查找所选插槽是否连续。 前两个数组给出了正确的最小值和最大值。 但是第三个数组的最小值为10,最大值为9。 如何纠正? 我正在寻找这样的最大值 for(var s=0;s<no_slots;s++)//finding maximum value of slots array { if

我有一些像这样的数组,数组中的数字代表插槽数 slots1={3,4,5,6} slots2={1,2,3,4,5,6} slots3={8,9,10}
我正在查找所选插槽是否连续。
前两个数组给出了正确的最小值和最大值。 但是第三个数组的最小值为10,最大值为9。 如何纠正? 我正在寻找这样的最大值

for(var s=0;s<no_slots;s++)//finding maximum value of slots array
        {    
             if(s == 0)
             { 
              var slots_max = slots[s];
             }
             else
             {
                    if(slots[s] > slots_max)
                    {
                      slots_max = slots[s];
                    }
             }              
        }  
for(var s=0;s插槽\u max)
{
插槽_max=插槽[s];
}
}              
}  

使用JS
Math
对象:

对于最小值:
Math.min.apply(空,插槽)

对于最大值:
Math.max.apply(空,插槽)

使用JS
Math
对象:

对于最小值:
Math.min.apply(空,插槽)

对于最大值:
Math.max.apply(空,插槽)

您可以尝试使用Javascript
Math
库查找最小/最大值。这将返回正确的结果

var min = Math.min.apply(null, slots3);
var max = Math.max.apply(null, slots3);

有关更多详细信息,请参阅。

您可以尝试使用Javascript
Math
库查找最小/最大值。这将返回正确的结果

var min = Math.min.apply(null, slots3);
var max = Math.max.apply(null, slots3);

有关更多详细信息,请参阅。

我不确定为什么您的函数在第三种情况下不能正常工作。你可能错过了一些愚蠢的事情,比如初始化或者类似的事情。 因为我已经修改了你的一些代码,它正在正确返回。你也可以把它缩短

var slots = [8, 9, 10]
var slots_max = slots[0];
for (var s = 0; s < slots.length; s++) //finding maximum value of slots array
{
   if (slots[s] > slots_max) {
         slots_max = slots[s];
      }
}
alert(slots_max);
var插槽=[8,9,10]
var插槽_max=插槽[0];
for(var s=0;s插槽最大值){
插槽_max=插槽[s];
}
}
警报(最大插槽数);

我不确定为什么您的第三种情况下的功能不能正常工作。你可能错过了一些愚蠢的事情,比如初始化或者类似的事情。 因为我已经修改了你的一些代码,它正在正确返回。你也可以把它缩短

var slots = [8, 9, 10]
var slots_max = slots[0];
for (var s = 0; s < slots.length; s++) //finding maximum value of slots array
{
   if (slots[s] > slots_max) {
         slots_max = slots[s];
      }
}
alert(slots_max);
var插槽=[8,9,10]
var插槽_max=插槽[0];
for(var s=0;s插槽最大值){
插槽_max=插槽[s];
}
}
警报(最大插槽数);

在for循环之前,您应该声明并初始化
slots\u max
。您有一个打印错误,检查slots,但重复编号_slots@mudalov-实际上,
no_slot
看起来只是数组的长度
s
是正确的迭代器变量。假定for循环前面的行是这样的:
var no\u slots=slots.length哦,是的。抱歉造成混淆。您应该在for循环之前声明并初始化
slots\u max
。您有一个打印错误,正在检查slots,但重复编号_slots@mudalov-实际上,
no_slot
看起来只是数组的长度
s
是正确的迭代器变量。假定for循环前面的行是这样的:
var no\u slots=slots.length哦,是的。抱歉搞混了。我们真的需要其他条件吗?如果(在else中)是独立的,我们可以做到。我们真的需要else条件吗?如果(在else内部)独立,我们可以做到这一点。