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

Top comments (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
Luke Shiru

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

Yes, It was just a trick question for newbies

Collapse
 
lukeshiru profile image
Luke Shiru

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

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

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

Correct

Collapse
 
deeyestea profile image
deeyestea

10, 9, 8, 7, 6

Collapse
 
0shuvo0 profile image
Shuvo

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

right

Visualizing Promises and Async/Await 🤯

async await

☝️ Check out this all-time classic DEV post