'Do-While loop output is undefined
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
Solution 1:[1]
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); //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
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); //condition
now it will work just fine !
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Gopal Lohar |
