DEV Community is a community of 753,853 amazing developers

We're a place where coders share, stay up-to-date and grow their careers.

Shuvo

Posted on

Guess the output of this JS code

Try to guess the output of this code without running it. Let me know in the comment what you got 😉

``````let num = 10;
for(let i = 0; i < num; i++){
console.log(num);
num--;
}
``````

hint: You may have got the first half right

Discussion (16)

FJones

Output (i/num after iteration):
10 (1/9)
9 (2/8)
8 (3/7)
7 (4/6)
6 (5/5) - loop terminates as `!(i < num).`

LUKESHIRU

The output of this code is me telling you to fix that code 🤣 ... jokes aside, if you see a pice of code like this, your first question should be:

What were you trying to do?

I'm sure that if you see this in "production", there was a typo somewhere, because the actual behavior (looping down from 10 to 6), can be achieved with a much clearer code, so is surely a mistake if you see something like that.

Cheers!

Shuvo

Yes, It was just a trick question for newbies

LUKESHIRU

I know, and my comment is explaining "newbies" that you don't always have to resolve the problem in interviews. Sometimes the best answer is: "I don't understand your code/intention", instead of banging your head against the keyboard.

‘Abdelraḥman Dwedar 👨🏻‍💻🇵🇸

Nice one!

The solution is:
10
9
8
7
6

The explanation:
1- It'll output 10 since we didn't change it yet.
2- We'll increase i to `1` and num decreased to `9`.
3- Increases i to `2` and num decreased to `8`.
4- Increases i to `3` and num decreased to `7`.
5- Increases i to `4` and num decreased to `6`.
Then it ends, 'cause num will be `5` while i will be the equal, so it stops.

Gerardo Leonel Blesly

10
9
8
7
6
5
4
3
2
am i correct?

Shuvo

Thanks for trying. but actually its wrong

jan paul

a unicorn bookmark well earned. ty for this.

Shuvo

Many many Thank s 💓

Aayush Garg

10
9
8
7
6
this should be the output.

PATH

Is it uhmm

10
9
8
7
6

Shuvo

Correct

deeyestea

10, 9, 8, 7, 6

Shuvo

Correct

thien-nguyen1

10, 9, 8, 7, 6
for loop stop when num = 5, ( every console.log in for decrease num for 1 )

Shuvo

right