我的数组中的javascript无限循环错误

时间:2013-03-20 23:02:51

标签: javascript arrays

这是我写的代码atm:

var array = [3, 6, 2, 56, 32, 5, 89, 32];
var largest = 0;

for (var i = 0; i < array.length; i++){
    if ( i > largest) {
    i = largest;
    }
}

console.log(largest);

它应该警告数组中的最大数字,但它似乎陷入无限循环。

5 个答案:

答案 0 :(得分:4)

我想你想要

for (var i = 0; i < array.length; i++){
    if ( array[i] > largest) {
        largest = array[i];
    }
}

基本上你说“如果i大于0,请将i设置为0”,这将导致i永远在0和1之间交替。

答案 1 :(得分:3)

var arr = [3, 6, 2, 56, 32, 5, 89, 32];
var largest = arr[0];

for (var i = 0; i < array.length; i++){
    if ( arr[i] > largest) {
        largest = arr[i];
    }
}

console.log(largest);

答案 2 :(得分:2)

我认为你的意思。

var array = [3, 6, 2, 56, 32, 5, 89, 32];
var largest = array[0];

for (var i = 1; i < array.length; i++){
    if ( array[i] > largest) {
        largest = array[i];
    }
}

console.log(largest);

答案 3 :(得分:1)

每次找到新的i时,您都会重置largest的值,以便您拥有无限循环。这一行使你的循环无限:

i = largest;

答案 4 :(得分:0)

您可以使用

找到数组的最大值
Math.max.apply(null, array)