0

我有一些这样的数组,数组中的数字代表插槽编号 slot1 = {3,4,5,6} slot2 = {1,2,3,4,5,6} slot3 = {8,9,10}
我正在查找所选插槽是否连续。
前两个数组给出正确的最小值、最大值。但是第三个数组给出了 min = 10, max=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];
                    }
             }              
        }  
4

3 回答 3

3

使用 JSMath对象:

对于最小值:Math.min.apply(null,slots);
对于最大值:Math.max.apply(null,slots);

于 2013-07-16T07:46:34.153 回答
2

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

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);

Js小提琴

于 2013-07-16T07:51:03.773 回答
1

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

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

有关更多详细信息,请参阅此答案

于 2013-07-16T07:46:43.917 回答