user1877731
user1877731

Reputation: 35

javascript infinite loop error in my 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.

Upvotes: 0

Views: 1424

Answers (5)

Barış Uşaklı
Barış Uşaklı

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

calebds
calebds

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

mr.VVoo
mr.VVoo

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

DanielDMO
DanielDMO

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

Boris Zagoruiko
Boris Zagoruiko

Reputation: 13164

You can find max value of array using

Math.max.apply(null, array)

Upvotes: 0

Related Questions