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 trialEdward Babino
3,579 PointsNeed 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);
1 Answer
Steven Parker
231,275 PointsIn 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.
Edward Babino
3,579 PointsThanks!
Daniel Breen
14,943 PointsDaniel Breen
14,943 PointsUnfortunately, 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";