DEV Community

Cover image for Guess the output of this JS code
Shuvo
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--;
}
Enter fullscreen mode Exit fullscreen mode

hint: You may have got the first half right

Discussion (16)

Collapse
fjones profile image
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).

Collapse
lukeshiru profile image
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!

Collapse
0shuvo0 profile image
Shuvo Author

Yes, It was just a trick question for newbies

Collapse
lukeshiru profile image
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.

Collapse
abdelrahman_dwedar profile image
‘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.

Collapse
rexion21 profile image
Gerardo Leonel Blesly

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

Collapse
0shuvo0 profile image
Shuvo Author

Thanks for trying. but actually its wrong

Collapse
janpauldahlke profile image
jan paul

a unicorn bookmark well earned. ty for this.

Collapse
0shuvo0 profile image
Shuvo Author

Many many Thank s 💓

Collapse
gamer1478 profile image
Aayush Garg

10
9
8
7
6
this should be the output.

Collapse
path08 profile image
PATH

Is it uhmm

10
9
8
7
6

Collapse
0shuvo0 profile image
Shuvo Author

Correct

Collapse
deeyestea profile image
deeyestea

10, 9, 8, 7, 6

Collapse
0shuvo0 profile image
Shuvo Author

Correct

Collapse
thiennguyen1tiki profile image
thien-nguyen1

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

Collapse
0shuvo0 profile image
Shuvo Author

right