27 lines
889 B
Markdown
27 lines
889 B
Markdown
|
---
|
||
|
title: Prevent Infinite Loops with a Valid Terminal Condition
|
||
|
---
|
||
|
## Prevent Infinite Loops with a Valid Terminal Condition
|
||
|
|
||
|
- To prevent an infinite loop, the `while-condition` must reach a terminal condition to exit out of the loop.
|
||
|
- So the error in this challenge occurs due to the condition - `i != 4` - in the for loop.
|
||
|
- If you take a closer look at the code:
|
||
|
```javascript
|
||
|
function myFunc() {
|
||
|
for (let i = 1; i != 4; i += 2) {
|
||
|
console.log("Still going!");
|
||
|
}
|
||
|
}
|
||
|
```
|
||
|
- You will see that `i` is first initialised as 1 and after every iteration of the loop, `i` is incremented by 2.
|
||
|
- Using this logic, after the first iteration - `i = 3` and the second iteration `i = 5`, the condition `i != 4` will never be met and an infinite loop will occur.
|
||
|
|
||
|
## Solution:
|
||
|
```javascript
|
||
|
function myFunc() {
|
||
|
for (let i = 1; i <= 4; i += 2) {
|
||
|
console.log("Still going!");
|
||
|
}
|
||
|
}
|
||
|
```
|