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.
let x = 5;
let i;
let array = ["x", "y", "z"];
do {
console.log(array[i]); //statement
i++; //increment
} while (x < 5); //condition
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;
let x = 5;
let i = 0;
let array = ["x", "y", "z"];
do {
console.log(array[i]); //statement
i++; //increment
} while (x < 5); //conditionnow 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
let x = 4;
let i = 0;
let array = ["x", "y", "z"];
do {
console.log(array[i]); //statement
i++; //increment
} while (x < 5 && i < array.length); //conditionnow it will work just fine !