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.
5 Answers 5
I 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.
answered Mar 20, 2013 at 23:04
calebds
26.3k9 gold badges51 silver badges75 bronze badges
Sign up to request clarification or add additional context in comments.
Comments
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);
answered Mar 20, 2013 at 23:04
Barış Uşaklı
13.5k7 gold badges44 silver badges69 bronze badges
Comments
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;
paddy
63.7k7 gold badges68 silver badges109 bronze badges
Comments
You can find max value of array using
Math.max.apply(null, array)
answered Mar 20, 2013 at 23:09
Boris Zagoruiko
13.2k15 gold badges53 silver badges80 bronze badges
Comments
lang-js
largest = i > largest ? i : largest;