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

Please help solve this case.

Below is the code for the last code challenge. This would work better as a do...while loop. Re-write the code using a do...while loop.

script.js
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.");
index.html
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JavaScript Loops</title>
</head>
<body>
<script src="script.js"></script>
</body>
</html>

2 Answers

Jason Anders
MOD
Jason Anders
Treehouse Moderator 145,860 Points

Hi... To change from a 'do' loop to a 'do while' loop is just a matter of a little re-arranging.

You still do need to declare the variable first before the loop, but with the do/while loop, you want an empty variable declared. You want this because you need to use the variable in the loop, but you do not want to re-declare it each time the loop runs.

The second part, is telling what you want the loop to 'do' (in this case, it's to prompt for the password.

You want this loop to run every time (or "while") the answer is wrong.

If the answer is right, the loop doesn't execute and the final line of code does.

Here is the complete code. I hope it makes more sense now.

var secret;

do {
  secret = prompt("What is the secret password?");
} while ( secret !== "sesame" );

document.write("You know the secret password. Welcome.");

Keep coding! :)

David DeWeaver
David DeWeaver
3,701 Points

Very helpful! I was confused about this challenge too.

so are you looking for something like this.

do {
  var secret = prompt("What is the sectret password?");
} while ( secret !== "seasame"){}

document.write("You know the secret password. Welcome.");