2017-03-15 11 views
-4

この機能を有効にして、正しいかどうかを確認します。Javascript +オブジェクト+配列

var state = { 
    question: [{ 
    "questions": "who is David", 
    "choices": ["me", "you", "himher"], 
    "correct": "me" 
    }], 
    currentQuestion: 0, 
}; 

function checkAnswer(state, choice){ 
    if(state.question[0] === state.correct){ 
    return "correct!!"; 
    }else { 
    return "false"; 
    } 
} 
+1

そして、あなたの質問は何ですか? – Carcigenicate

+0

この関数はどのように呼び出されていますか?コードには、その関数の状態パラメータについては何も知らないので、状態オブジェクトと状態パラメータがあります。 –

+1

質問配列の選択肢部分にはどのようにしてアクセスできますか? –

答えて

0

変数を使用してstateオブジェクトに段階的にアクセスすると、それに従うのが簡単になります。質問の配列で使用するインデックスを指定するには、currentQuestionを使用します。また、一致しないデータの潜在的な問題を防ぐために、正しい選択肢のインデックスを同様に指し示すように、correctを変更することをお勧めします。

var state = { 
 
    questions: [{ 
 
    question: "Who is David?", 
 
    choices: ["me", "you", "himher"], 
 
    correct: 0 
 
    }], 
 
    currentQuestion: 0, 
 
}; 
 

 
function checkAnswer(state, choice) { 
 
    var questionState = state.questions[state.currentQuestion]; 
 
    var correctChoice = questionState.choices[questionState.correct]; 
 
    return correctChoice === choice; 
 
} 
 

 
console.log(checkAnswer(state, "me")); 
 
console.log(checkAnswer(state, "you"));

関連する問題