Javascript while循环使用if语句

时间:2013-04-26 03:52:23

标签: javascript if-statement while-loop

我正在尝试在Javascript中创建一个while循环。我有一个名为数字的数组,包含5个数字。我还有一个名为bigone的变量,设置为0.我正在尝试编写一个while循环,它有一个if语句,将数组中的每个值与bigone进行比较。当数组槽中的数字大于bigone时,我想将该数字分配给bigone。我弄清楚了。这是我到目前为止,但它不会工作。是的,这是家庭作业,不,我不是要求答案,只是为了正确方向的一些指导。这是我得到的:

while ( numbers.length < 5 ) {
    if ( numbers > bigone ) {
    bigone = numbers
    }
  }

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

实施计数器,以便您可以访问数组中的值。

var i = 0;
while(numbers.length < 5 && i < numbers.length)
{
    if(numbers[i] > bigone)
        bigone = numbers[i];

    i++;
}

这是相同的循环,但for。不确定为什么要检查数组中是否有5个或更少的元素但是没问题。这会检查每次迭代的长度。

for(var i = 0; numbers.length < 5 && i < numbers.length; i++)
{
    if(numbers[i] > bigone)
        bigone = numbers[i];
}

检查一次的更好方法是将for循环包装在if语句中,如下所示:

 if(numbers.length < 5)
 {
     for(var i = 0; i < numbers.length; i++)
     {
         if(numbers[i] > bigone)
             bigone = numbers[i];
     }
 }

答案 1 :(得分:1)

我认为你试图找到数组中最大的数字。 另一种方法是使用forEach方法,该方法将回调函数作为参数。对数组的每个元素执行一次回调。

var numbers = [4, 12, 3, 5, 1]
var big  = 0;
numbers.forEach(function(number) { if(number > big) big = number; });
console.log(big); //Prints 12

More on Array.forEach