2016-04-11 5 views
0

Javascriptを使用してリストから要素を選択する方法を教えてください。ここに私のコードの一部である:それは動作しません。しかしJavascript - リスト内の要素を選択する

var score = 0; 
    var bin = 0; 
    var question = -1; 
    var answers = ['higher', 'lower', 'higher', 'lower', 'higher']; 

    function answer_question(response) { 
     if (response == 1) { 
      if (answer[question] == "higher"){ 
       score ++; 
       console.log(score); 
      } else { 
       bin ++; 
       console.log("Bin: "); 
       console.log(bin); 
      } 
     } 
     else if (response == 0) { 
      if (answer[question] == "lower") { 
       score ++; 
       console.log(score); 
      } else { 
       bin ++; 
       console.log("Bin: "); 
       console.log(bin); 
      } 
     } 
    } 

、私はこれはあなたの助けのために

answer[question] == "higher" 

おかげによるものだと思います!

+2

'question = -1'?配列は '0'で始まります。 –

+0

「リストの要素を選択する」という意味はどうですか? – hindmost

+0

あなたのコードは非常に混乱しています。これらのパラメータが何をするのか、そしてどのように関数を呼び出すのかの例を挙げることはできますか? – Dellirium

答えて

0

これは三つのことである:

  • answerが定義されていません。私はあなたがanswersを意味すると思う。これはちょうどタイプミスかもしれません。あなたはJavascriptでanswers[question]、よく、question = -1、およびanswers[-1]戻りundefinedをした場合であっても

  • 。 JSには負のインデックス作成の概念がないため、負の数をインデックス添字として使用することはできません。そのように、代わりに0answers.length - 1間の任意の数を使用します。

    answers[0] // returns 0th (first) element of answers array 
    
  • あなたは決してインクリメントまたはquestionを変更します。このコードを実行するたびに、answers[question]は常に同じものを返します。その場合、なぜあなたはその行を持っていますか? array[index]


述べたように、あなたの質問に答えるためには、しかし、配列の要素はそうのようなインデックスによってアクセスすることができます。 indexは、0の間の任意の整数で、1つは配列の長さより小さいことができます。

+0

第1のポイントはおそらく問題ですが、他の2つはおそらく "コードの一部"であり、すべてのコードではないためです。 – Ilya

関連する問題