带有if语句的Javascript while循环

带有if语句的Javascript while循环,javascript,if-statement,while-loop,Javascript,If Statement,While Loop,我试图用Javascript创建一个while循环。我有一个名为numbers的数组,它包含5个数字。我还有一个名为bigone的变量,它被设置为0。我试图编写一个while循环,它有一个if语句,将数组中的每个值与bigone进行比较。当数组插槽中的数字大于bigone时,我想将该数字分配给bigone。我想不出来。这是我到目前为止所做的,但它不起作用。是的,这是家庭作业,不,我不是在问答案,只是想在正确的方向上得到一些指导。以下是我所得到的: while ( numbers.length &

我试图用Javascript创建一个while循环。我有一个名为numbers的数组,它包含5个数字。我还有一个名为bigone的变量,它被设置为0。我试图编写一个while循环,它有一个if语句,将数组中的每个值与bigone进行比较。当数组插槽中的数字大于bigone时,我想将该数字分配给bigone。我想不出来。这是我到目前为止所做的,但它不起作用。是的,这是家庭作业,不,我不是在问答案,只是想在正确的方向上得到一些指导。以下是我所得到的:

while ( numbers.length < 5 ) {
    if ( numbers > bigone ) {
    bigone = numbers
    }
  }
while(number.length<5){
如果(数字>大一){
bigone=数字
}
}

有什么想法吗?

实现一个计数器,以便访问数组中的值

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

    i++;
}
var numbers = [4, 12, 3, 5, 1]
var big  = 0;
numbers.forEach(function(number) { if(number > big) big = number; });
console.log(big); //Prints 12
只检查一次的更好方法是将
for
循环包装在
if
语句中,如下所示:

 if(numbers.length < 5)
 {
     for(var i = 0; i < numbers.length; i++)
     {
         if(numbers[i] > bigone)
             bigone = numbers[i];
     }
 }
if(number.length<5)
{
对于(变量i=0;ibigone)
bigone=数字[i];
}
}

我猜您正在尝试查找数组中的最大数字。 另一种方法是使用forEach方法,该方法将回调函数作为参数。对数组的每个元素执行一次回调

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

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

最佳解决方案。但是,我想指出的是,它仅适用于ES5,例如,在IE 8及以下版本中不起作用。