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

nicolo orcine
nicolo orcine
3,138 Points

Cant figure this out

When I run this into the browser and do a console.log(correctQ); in console. the only value that is stack in it where ["H", "o"]. whats the problem here? thanks.

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 correctQ = [];

var wrongQ = [];

var correctAnswers = 0;

var wrongAnswers = 0;

var question;

var answer;

var response;

var html;

var htmlListr;

var htmlListw;

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

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;

correctQ.push (question[i][0]);

} else


  wrongAnswers += 1;

  wrongQ.push (question[i][0]);



html = "You got " + correctAnswers + " question(s) right."


2 Answers

Look at what you are pushing on the stack,

correctQ.push (question[i][0]);

What does question contain? It is the current question, not the array of questions. so you are getting the individual elements of the string, which is why you get "H", the first letter of the first question and "o", the second letter of the second question.

Change your code to:

correctQ.push (questions[i][0]);