Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
数组中的javascript无限循环错误_Javascript_Arrays - Fatal编程技术网

数组中的javascript无限循环错误

数组中的javascript无限循环错误,javascript,arrays,Javascript,Arrays,这是我正在写的代码: 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 < a

这是我正在写的代码:

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 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的值,这样就有了无限循环。这一行使循环无限:

i = largest;

您可以使用查找数组的最大值

Math.max.apply(null, array)

你不应该改变我!永远不要更改for循环中的i,并且您没有对循环中的数组执行任何操作最大=i>最大?i:最大;它应该是var max=arr[0]它应该设置为arr[0]这不会有任何区别,但你是对的。那更好。
Math.max.apply(null, array)