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 1

Victor Gordian
Victor Gordian
4,656 Points

I'm stuck

var questions = [
['What color is the sky?', 'blue'],
['Whats the beginning of the Alphabet'], ['A'],
['When its hot people usually like to eat what?', 'ice cream']  
];

var count = 0;  // users input that are correct
var response; // the responses from user
var correct = []; //answers correctly 
var wrong =[];//answers that are wrong


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

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



after the second question being asked, whatever the responses is..it says 'caught TypeError: Cannot read property 'toLowerCase' of undefined'

what am i doing wrong?

1 Answer

Justin Iezzi
Justin Iezzi
18,199 Points

Hey Victor,

Check out line 3. You'll notice that you've separated the first string from the second. This is your problem. Compare this line to the other two questions, those work just fine.

['Whats the beginning of the Alphabet', 'A'],

Hope this helps.