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

Edward Babino
Edward Babino
3,579 Points

Need help. Not all questions appearing.

I have tried to make sure there were no typos in copying how this video wrote out the code, but after I go through answering the questions, it will only produce one question that I got right or wrong but no others. Also, how would I be able to copy/paste this into a visual display without putting this in question details? I'm still to new all of this.

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;

var correct = [];

var wrong = [];

function print(message) {

var outputDiv = document.getElementById('output');

outputDiv.innerHTML = message; }

function buildList(arr) {

var listHTML = '<ol>';

for (var i = 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 these questions correct:</h2>';

html += buildList(correct);

html += '<h2>You got these questions wrong:</h2>';

html += buildList(wrong);

print(html);

Daniel Breen
Daniel Breen
14,943 Points

Unfortunately, I'm not sure how to answer the actual question, but I can help with the visual display part.

It's good to put code in the question. Don't worry about that. But you want to reference the markdown cheatsheet to make it more readable: https://teamtreehouse.com/community/cheatsheet

Wrap your code with 3 backticks (```) on the line before and after. If you specify the language after the first set of backticks, that'll help us with syntax highlighting.

```javascript
var myVar = "This is a javascript variable";
```

will result in

var myVar = "This is a javascript variable";  

1 Answer

Steven Parker
Steven Parker
229,744 Points

In the "buildList" function, by just assigning "listHTML" in each pass, the previous value(s) will be overwritten. To build a complete string by adding the new values onto it, use a concatenating assignment ("+=") instead.