0
For Loop
Why is it in the FOR LOOP the increment is only considered after the first iteration? Example: Let sum = 0; For (i = 1; i <= 3; i++) { if (i==2) { continue; } sum+=i; } console.log(sum); Answer is: 4 Question is initially i = 1, the condition is true, why is i++ skipped before going into IF STATEMENT? Shouldn’t i be incremented before going into IF STATEMENT in the first iteration, which will mean that it’ll go in as 2, and IF becomes TRUE and sum+=i skipped, so sum answer becomes 3?
2 Respostas
+ 4
It seems you misunderstanding how the for loop works.
for (i = 1; i <= 3, i++)
It means i starting as 1, if i is less than or equal to 3, do the codes below. When finished, increase i by 1.
Therefore in your example:
i = 1, which is less than or equal to 3, so sum + 1, and then i increase by 1.
In the next loop, i = 2, which is also less than or equal to 3. However the if statement say if i equals to 2 it will be skipped. So it is skipped and i increase by 1.
In the next loop, i = 3, which is also less than or equal to 3, so sum + 3 and i increase by 1 again.
In the next loop, i = 4, it is greater than 3 and exit the loop.
At this point sum is 4, so it prints 4.
+ 1
Thank you Wong Hei Ming for your answer, especially this line made more sense in spoken language 😅
“It means i starting as 1, if i is less than or equal to 3, do the codes below. When finished, increase i by 1.”
Thank you.