-3

だから私はjavascriptを学んでいて、楽しみのためにクイズを作ることに決めました.クイズを作ったときに問題に遭遇し、答えを求められました.「はい」ではなく「はい」の例...

var questions = [
['Do you like Pizza', 'Yes']
 ];

function askQuestion(question) {
var answer = prompt(question[0],'');
    if (answer == question[1]) {
        alert('Correct!');
        score++;
    } else { 
        alert('Sorry the correct answer is ' + question[1]);
        }
} 
for (var i=0;i<questions.length; i++) {
    askQuestion(questions[i]);
}

大文字の Y でのみ答えが得られます。悪い例であることはわかっています。しかし、私はあなたが言っていることを知っていると思います。

4

2 に答える 2

2

先に進んで、明らかなように思われるものを投稿します-文字列を受け入れて「はい」と比較していますが、両方の値の大文字と小文字を同じに設定してから比較する必要があります。たとえば、次のようになります。

var questions = [
    ['Do you like Pizza', 'Yes']
];

var input = document.getElementById("user_input").value;
if (input.toLowerCase() == questions[i][1].toLowerCase()) {
    // `input` was "yes", "yEs", "Yes", etc.
}

更新

実際のコードを共有したので、関数を次のように変更します。

function askQuestion(question) {
    var answer = prompt(question[0],'');
    if ((""+answer).toLowerCase() == (""+question[1]).toLowerCase()) {
        alert('Correct!');
        score++;
    } else { 
        alert('Sorry the correct answer is ' + question[1]);
    }
}

ユーザーの回答と質問の正解の両方を文字列に変換し (文字列toLowerCaseにのみ適用されるため、実際に を呼び出すことができることを確認するため)、toLowerCase両方を呼び出した方法に注意してください。

于 2012-10-31T22:32:31.137 に答える
1

私はあなたの答えとユーザーの答えを受け取り、.toLowerCase() メソッドを使用して両方を小文字にします。

于 2012-10-31T22:31:51.003 に答える