Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

JavaScript JavaScript Loops, Arrays and Objects Simplify Repetitive Tasks with Loops Create a `do...while` loop

Cant solve this challenge, writing while..do loop

The whole while...do function confuses me, please help.

script.js
var secret = prompt("What is the secret password?");
correctguess= false;
do { secret = prompt("What is the secret password?");

    if (secret !== "sesame" ) {
}

while ( !   ) 

document.write("You know the secret password. Welcome.");
index.html
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JavaScript Loops</title>
</head>
<body>
<script src="script.js"></script>
</body>
</html>

1 Answer

We start off with this code

var secret = prompt("What is the secret password?");
while ( secret !== "sesame" ) {
  secret = prompt("What is the secret password?");    
}
document.write("You know the secret password. Welcome.");

and it asks us to turn this into a do...while loop. Given the structure of a do...while as follows

do {
   //some code
}
while (/* our check */);

we can piece this together pretty easily from the existing code. The first step is to move the while ( secret !== "sesame") to the end bracket to match the format in the example structure above, then to place our do following the same basic structure. This is a pretty solid start and, actually, it's almost done. Since we know that the do will be executed at least one time before the while check, we don't need to actually prompt for the password outside the loop. The only thing we need to do, is define the variable. That means we can shave off the = prompt("What is the secret password?"); from the var declaration, slap a semicolon on it, and it's golden :)