admin管理员组文章数量:1024054
this is the code I am writing 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);
It should be alerting the largest number in the array, but it seems to be stuck in an infinite loop.
this is the code I am writing 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);
It should be alerting the largest number in the array, but it seems to be stuck in an infinite loop.
Share Improve this question asked Mar 20, 2013 at 23:02 user1877731user1877731 356 bronze badges 3- 2 you shouldn't change i! – mr.VVoo Commented Mar 20, 2013 at 23:03
- never change i in a for loop, and you are not doing anything with the array in the loop – OJay Commented Mar 20, 2013 at 23:05
-
largest = i > largest ? i : largest;
– adeneo Commented Mar 20, 2013 at 23:07
5 Answers
Reset to default 4I think you want
for (var i = 0; i < array.length; i++){
if ( array[i] > largest) {
largest = array[i];
}
}
Basically you are saying "if i
is greater than 0, set i
to 0", which will cause i
to alternate between 0 and 1 forever.
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);
I think you meant.
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);
You are resetting the value of i
every time you find a new largest
, so that you have the infinite loop. This line makes your loop infinite:
i = largest;
You can find max value of array using
Math.max.apply(null, array)
this is the code I am writing 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);
It should be alerting the largest number in the array, but it seems to be stuck in an infinite loop.
this is the code I am writing 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);
It should be alerting the largest number in the array, but it seems to be stuck in an infinite loop.
Share Improve this question asked Mar 20, 2013 at 23:02 user1877731user1877731 356 bronze badges 3- 2 you shouldn't change i! – mr.VVoo Commented Mar 20, 2013 at 23:03
- never change i in a for loop, and you are not doing anything with the array in the loop – OJay Commented Mar 20, 2013 at 23:05
-
largest = i > largest ? i : largest;
– adeneo Commented Mar 20, 2013 at 23:07
5 Answers
Reset to default 4I think you want
for (var i = 0; i < array.length; i++){
if ( array[i] > largest) {
largest = array[i];
}
}
Basically you are saying "if i
is greater than 0, set i
to 0", which will cause i
to alternate between 0 and 1 forever.
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);
I think you meant.
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);
You are resetting the value of i
every time you find a new largest
, so that you have the infinite loop. This line makes your loop infinite:
i = largest;
You can find max value of array using
Math.max.apply(null, array)
本文标签: javascript infinite loop error in my arrayStack Overflow
版权声明:本文标题:javascript infinite loop error in my array - Stack Overflow 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://it.en369.cn/questions/1745529867a2154698.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论