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 Tracking Multiple Items with Arrays Build a Quiz Challenge, Part 2 Solution

why don't my pop up box work (it did before)?

Im stuck on why my codes not executing.... '''var questions = [ ['How many states are in the United States?', 50], ['How many continents are there?', 7], ['How many legs does an insect have?', 6] ]; var correctAnswers = 0; var question; var answer; var response;

function print(message) { document.write(message); }

function buildList (arr){

var listHTML = "<ol>"; for(var = 0; i < arr.length; i+=1 ){ listHTML += '<li>' + arr[i] + '</li>'; } listHTML += '</ol>'; return listHTML; }

for (var i = 0; i < questions.length; i += 1) { question = questions[i][0]; answer = questions[i][1]; response = prompt(question); response = parseInt(response); if (response === answer) { correctAnswers += 1; correct.push(question); }else { wrong.push(question);

} }

html = "You got " + correctAnswers + " question(s) right." html += '<h2>You got questions correct</h2>; html += buildList(correct); html += '<h2>You got these questions wrong:</h2>; html += buildList(wrong);

print(html);

1 Answer

Hey Ben! I've looked into your code! I have found a few typos, or mistakes. I will write down all that I've found, so spoiler alert ahead! If you want to figure it out by yourself read my comment carefully from now!

  • So first, inside the listHTML variable, where the loop is, you haven't specified the var i. It's simply says var = 0.
  • At the beginning of the program you havent declared empty arrays to collect correct and wrong answers, what you will print out later on the page.
  • At the very bottom of your code, where you print out the final message, you missed apostrophe I think twice, what completely stops your code to run, as it's all became one long string. So look for the closing h2 tags. Have a good day!