Reputation: 35
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.
Upvotes: 0
Views: 1424
Reputation: 13532
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);
Upvotes: 2
Reputation: 26228
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.
Upvotes: 4
Reputation: 2270
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);
Upvotes: 3
Reputation: 86
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;
Upvotes: 1
Reputation: 13164
You can find max value of array using
Math.max.apply(null, array)
Upvotes: 0