0

これは私が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);

配列内の最大数を警告しているはずですが、無限ループに陥っているようです。

4

5 に答える 5

4

私はあなたが欲しいと思います

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

i基本的には、「 0 より大きい場合は 0 に設定iする」と言っているiため、0 と 1 が永久に交互に繰り返されます。

于 2013-03-20T23:04:24.693 に答える
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);
于 2013-03-20T23:04:34.060 に答える
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);
于 2013-03-20T23:04:30.980 に答える
1

i新しい を見つけるたびに の値をリセットしてlargestいるため、無限ループが発生します。この行はループを無限にします:

i = largest;
于 2013-03-20T23:04:54.730 に答える
0

を使用して配列の最大値を見つけることができます

Math.max.apply(null, array)
于 2013-03-20T23:09:06.340 に答える