the console shows undefined for the following loop. the issue is in array[i]
as it says i is undefined but it is the index for the loop elements. I don’t want to change the x to I as I want to run the code only once and test that it will stop as x is not < 5.
JavaScript
x
8
1
let x = 5;
2
let i;
3
let array = ["x", "y", "z"];
4
do {
5
console.log(array[i]); //statement
6
i++; //increment
7
} while (x < 5); //condition
8
Advertisement
Answer
so the problem with your code is that you initialised i without difining it let i;
and then you are incrementing it i++
,
set let i = 0;
JavaScript
1
7
1
let x = 5;
2
let i = 0;
3
let array = ["x", "y", "z"];
4
do {
5
console.log(array[i]); //statement
6
i++; //increment
7
} while (x < 5); //condition
now if x is not less than 5 then the loop will run once
but there will be a problem that if x is less than 5 then loop will run infinitely so instead of just x < 5
dot x < 5 && i < array.length
JavaScript
1
7
1
let x = 4;
2
let i = 0;
3
let array = ["x", "y", "z"];
4
do {
5
console.log(array[i]); //statement
6
i++; //increment
7
} while (x < 5 && i < array.length); //condition
now it will work just fine !