Home > front end >  Why there are no pop up questions that I wroted? Just go to the alert("Total correct answer: &q
Why there are no pop up questions that I wroted? Just go to the alert("Total correct answer: &q

Time:06-27

Can't display the pop-up questions I wrote, but go to the alert(total correct answer) directly. I wrote it by following the tutorial video. Can anyone help me? Thank you!!!

var questions = [
    {
        prompt:"What is the color of banana?\n(a)red\n(b)green\n(c)yellow", // \n = 換行
        answer:"c"
    },
    {
        prompt:"What is the color of strawberry?\n(a)red\n(b)green\n(c)yellow",
        answer:"a"   
    },
    {
        prompt:"how many centimeters is equal to One meter?\n(a)1\n(b)10\n(c)100",
        answer:"c"   
    }
]

var score = 0;
for(var i=0; i<questions.lengths; i  ){
    var input=prompt(questions[i].prompt);
    if(input==questions[i].answer){
        score  ;
        alert("Answer Correct!");
    }
    else{
        alert("Answer Wrong!");
    }
}

alert("Total correct answer: "  score );

CodePudding user response:

questions.lengths should be questions.length. You can read more about how to get the length of an array in Javascript here

var questions = [
    {
        prompt:"What is the color of banana?\n(a)red\n(b)green\n(c)yellow", // \n = 換行
        answer:"c"
    },
    {
        prompt:"What is the color of strawberry?\n(a)red\n(b)green\n(c)yellow",
        answer:"a"   
    },
    {
        prompt:"how many centimeters is equal to One meter?\n(a)1\n(b)10\n(c)100",
        answer:"c"   
    }
]

var score = 0;
for(var i=0; i<questions.length; i  ){ // This is the line which was incorrect
    var input=prompt(questions[i].prompt);
    if(input==questions[i].answer){
        score  ;
        alert("Answer Correct!");
    }
    else{
        alert("Answer Wrong!");
    }
}

alert("Total correct answer: "  score );

CodePudding user response:

You have a typo:

for(var i=0; i<questions.length; i  ){

length - not lengths

  • Related