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

John Park
John Park
4,368 Points

Build a Quiz Challenge, Part 2 Solution

hey everyone I tried to follow and reviw Dave's solution but I get undefined for my part of the correct and wrong list questions. What am I missing here?

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) {
  document.write(message);
}
function buildList(arr) {
  var listHTML = '<ol>';
    for (var i = 0; i < arr.length; i += 1) {
      listHTML += '<li>' + arr[i] + '</li>';
    }
}

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

In your buildList func, youre not returning the list that you created inside of it. Funcs that don't return anything will return undefined. Fixing that will solve the major issue, though your page might still not look 100% like Dave's. There are some minor html issues in your code.

Please mark my answer as the 'best answer' if it helps you out!

Angela Huffman
Angela Huffman
Courses Plus Student 11,008 Points

Ugh! This was killing me. I hate it when I miss simple stuff.

Thanks!