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 trialMike Harrison
3,147 PointsIf my quiz has a mix of integers and strings as answers, how do I go about passing these both through as valid?
Currently, I can only seem to make the quiz work using only all integers as answers, or all strings as answers.. not a mix of the two. If I understand correctly, the parseInt() function converts a string answer to an integer. I have tested this out and set my answers to strings, but no luck. What am I doing wrong?
See my code below:
var questions = [
['What is 5 + 5?', '10'],
['What is 20 + 10?', '30'],
['What is 10 / 2?', '5']
];
var score = 0;
var question;
var answer;
var response;
var correctQuestions = [];
var incorrectQuestions = [];
for ( var i = 0; i < questions.length; i++ ) {
question = questions[i][0];
answer = questions[i][1];
response = parseInt(prompt( question ));
if ( response === answer ) {
score ++;
correctQuestions.push( question );
} else {
incorrectQuestions.push( question );
}
}
document.write( score, correctQuestions );
Ultimately - I would like to know how I would have a mix of both integers and strings as my answers. So something like this:
var questions = [
['What is 5 + 5?', 'ten'],
['What is 20 + 10?', 30],
['What is my name?', 'mike']
];
1 Answer
Justin Iezzi
18,199 PointsHey Mike,
You can check if something is a number or not by using JavaScriptβs isNaN() function.
You could use this in an if/else statement to handle the user's input appropriately.
As for your example, spelling out "ten" and translating that as an answer for "10" or the integer 10 is a much more complicated and somewhat uncommon solution. Assuming that's what you meant.
Let me know if you have more questions. :)
Mike Harrison
3,147 PointsMike Harrison
3,147 PointsThat is very useful, thank you!