2017-08-08 7 views
-4

ラジオボタンから取得したスコアがループのタイプを使用せずに一定量を上回っているが、プッシュメソッドが機能しないように見える場合は、文字列配列にデータを追加したい。 これは私のjavascriptのコードです:javacriptでプッシュが機能しない

var diet1 = 10, diet2 = 3 , diet3 =10 , diet4 = 15; 
var message = new Array(); 
totalScore = diet1 + diet2 + diet3 + diet4; 

if(totalScore > 25){ 
    if(age == 10){ 
     message = highRisk.push("a"); 
    } 

    if(bmi == 10){ 
     message = highRisk.push("b"); 
    } 

    if(history == 10){ 
     message = message.push("c"); 
    } 

    if(age == 10){ 
     message = message.push("d"); 
    } 
} 

私はループせずに文字列配列項目を追加するにはどうすればよいですか?また、ユーザーが送信ボタンを押すと、フォームをリセットする方法もあります。

+1

'push' **ですインプレース操作**。配列は変更可能であり、 'push'は更新された配列を返すのではなく、新しい配列の長さを返します。再割り当てしないでください。 – Li357

+0

'highRisk'はどこから来たのですか? –

答えて

1

これを実行する必要がいけない:

message = message.push('a'); 

あなたがこれだけの操作を行います。あなたのコードは次のようになります

message.push('a') 

を:

var diet1 = 10, diet2 = 3 , diet3 =10 , diet4 = 15; 
var message = new Array(); 
totalScore = diet1 + diet2 + diet3 + diet4; 

    if(totalScore > 25){ 
    if(age == 10){ 
     highRisk.push("a"); 
    } 

    if(bmi == 10){ 
     highRisk.push("b"); 
    } 

    if(history == 10){ 
    message.push("c"); 
    } 

    if(age == 10){ 
     message.push("d"); 
    } 
    } 
+0

ありがとうございました! –

1

message = highRisk.push("a");の代わりにmessage.push("a");を試してください。

+0

@AndrewLiはい、構文が間違っていませんが、OPが '' a''を 'message'配列にプッシュしようとすると、コードが間違っています。 –

関連する問題