Javascript无限循环错误在我的数组

javascript infinite loop error in my array

本文关键字:我的 数组 错误 无限循环 Javascript      更新时间:2023-09-26

这是我写的代码:

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);

每次找到新的largest时,都要重置i的值,这样就有了无限循环。这一行使循环成为无限循环:

i = largest;

您可以使用

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