数组中的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)