FAQ: Loops - The While Loop


This community-built FAQ covers the “The While Loop” exercise from the lesson “Loops”.

Paths and Courses
This exercise can be found in the following Codecademy content:

Web Development

Introduction To JavaScript

FAQs on the exercise The While Loop

There are currently no frequently asked questions associated with this exercise – that’s where you come in! You can contribute to this section by offering your own questions, answers, or clarifications on this exercise. Ask or answer a question by clicking reply (reply) below.

If you’ve had an “aha” moment about the concepts, formatting, syntax, or anything else with this exercise, consider sharing those insights! Teaching others and answering their questions is one of the best ways to learn and stay sharp.

Join the Discussion. Help a fellow learner on their journey.

Ask or answer a question about this exercise by clicking reply (reply) below!

Agree with a comment or answer? Like (like) to up-vote the contribution!

Need broader help or resources? Head here.

Looking for motivation to keep learning? Join our wider discussions.

Learn more about how to use this guide.

Found a bug? Report it!

Have a question about your account or billing? Reach out to our customer support team!

None of the above? Find out where to ask other questions here!


const cards = [‘diamond’, ‘spade’, ‘heart’, ‘club’];
let currentCard = ;
while (currentCard !== ‘spade’) {
currentCard = cards[Math.floor(Math.random() * 4)];

I don’t undestand what stop this code from running forever? The varible currentCard is not ‘spade’, soas I see it, it should run forever.



I had the same question but figured it out. A loop is gonna keep doing the same action over and over as long as it’s condition is true, meaning in this scenario that the random card is not ‘spade’. When it runs a few times eventually it’ll come across ‘spade’ which makes the condition false causing the loop to stop. This is why your output always ends with ‘spade’ but you won’t see it earlier.

Hope that helps. :wink:


How can you tell how many times it ran, before it found “spades”?


My buddy helped me with this:

const cards = [‘diamond’, ‘spade’, ‘heart’, ‘club’];

// Write your code below

let currentCard = "";

let i = 0;

while (currentCard != "spade"){

i = Math.floor(Math.random() * 4);

currentCard = cards[i];




//this outputs each random number and it’s pick