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

Two-dimensional arrays? Printing questions and answers at the same time?

Hi, If anyone could give me some insight. As I'm struggling to find the error in my code.

Once I run the program, both the questions and the answers are prompted on screen.

Thank you in advance!

Code Below:

 var questions = [
 [ 'What is 10+10?', 20],
 [ 'What is the Capital of Italy?', 'Rome'],
 [ 'What is the Capital of France?', 'Paris']
];

var correctAnswers = 0;
var question;
var answer;
var response;
var html;

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

for (var i = 0; i < questions.length; i +=1) {
  question = questions[i][0];
  answer = questions[i][1];
  response = parseInt(prompt(questions));

  if (response === answer) {
    correctAnswers += 1;
  }                 
}

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

End of Code.

2 Answers

in your code , the varible named response is equal to parseInt(prompt(questions));

response = parseInt(prompt(questions));

You are printing all of the array with prompt.(because questions is equal to all of your questions and answers)

it should be :

response = parseInt(prompt(question));

as you decleared question = questions[i][0];

Ah, I see the mistake I have made.

That clears it up very well.

Thank you very much Emre. I appreciate your help.