这是我正在编写 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);
它应该警告数组中的最大数字,但它似乎陷入了无限循环。
这是我正在编写 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);
它应该警告数组中的最大数字,但它似乎陷入了无限循环。
我想你想要
for (var i = 0; i < array.length; i++){
if ( array[i] > largest) {
largest = array[i];
}
}
基本上你是说“如果i
大于 0,则设置i
为 0”,这将导致i
永远在 0 和 1 之间交替。
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);
我想你的意思是。
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);
i
每次找到新的 时,您都会重置 的值largest
,以便您拥有无限循环。此行使您的循环无限:
i = largest;
您可以使用找到数组的最大值
Math.max.apply(null, array)