2016-12-30 10 views
-3

私は、authorId = 1のループから値を保持し、次のループ(authorId = 3)で別の値として出力する必要があります。 (authorId = 3)のループでは、authorSurnameという文字列が別の値を取るため、authorSurname.value(id = 1)を2番目のAuthor.valueとしてループ(authorId = 3)に出力する必要があることを意味します。どうすれば修正できるのか教えていただけますか?JavaScriptを使用して以前のループから値を取得する

if(authorId === 0) { 

div.innerHTML = firstAuthorSurname.value + year.value + page.value + pageOtherValue; 
} 

else if (authorId === 1) { 
     div.innerHTML = firstAuthorSurname.value + " i " + authorSurname.value + " (" + year.value + "); 
     var secondAuthorSurname = authorSurname.value; 
} 

else if (authorId === 2) { 
    return secondAuthorSurname; 
    div.innerHTML = firstAuthorSurname.value + ", " + secondAuthorSurname.value + " and " + authorSurname.value + " (" + year.value + ") " + firstAuthorSurname.value + ", " + secondAuthorSurname.value + " and " + authorSurname.value + ", " + year.value + ")" + firstAuthorSurname.value + ", " + secondAuthorSurname.value + " and " + authorSurname.value + ", " + year.value + ") showed that... "; 
} 
+4

あなたのサンプルコードにはループが含まれていません – rekire

答えて

0

あなたのコードはループが含まれていませんが、あなたはループの外で変数を宣言するforループの外で使用する値を保存したい場合は、その後、あなたはループの外でそれにアクセスできるようになります。

text = ""; 
cars = ["honda", "chevy"]; 
for (i = 0; i < cars.length; i++) { 
    text += cars[i]; 
} 
console.log(text); 
>>hondachevy 

あなたは同じパターン

text = ""; 

for (i = 0; i < 4; i++) { 
    if(i === 0){ 
    text += "to be used when i is 1"; 
} 
else if(i === 1){ 
    console.log(text); 
    text += " hello"; 
} 
} 
console.log(text); 

出力

>>to be used when i is 1 
>>to be used when i is 1 hello 
に従うことができますforループ内のif文で異なる条件で使用する値を保存しようとしている場合

またelseの代わりにswitch文を使用しないでください。 javascriptでswitch文を実行する方法については、下のリンクを参照してください。

http://www.w3schools.com/js/js_switch.asp

関連する問題