3

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

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

有任何想法吗?

4

2 回答 2

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];
     }
 }
于 2013-04-26T03:55:01.963 回答
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

更多关于 Array.forEach

于 2013-04-26T04:12:14.460 回答