- ベストアンサー
質問:ランダムで文字を表示
- 質問なのですが、最後から3行目の[i-5]の5は何を意味しているのでしょうか?
- JavaScriptを使って作成したコードですが、理解できていない部分があります。
- 誰か教えていただけると助かります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>現在以下のように複数のテキストの中からランダムで3つずつ表示しています。 moji[1]~[6]に登録されたテキストのうち、ランダムで選ばれた1~6の数字から順番に3つ表示するプログラムですね。 つまり、 1が選ばれれば、moji[1]、moji[2]、moji[3]を表示 2が選ばれれば、moji[2]、moji[3]、moji[4]を表示 ・ ・ 5が選ばれれば、moji[5]、moji[6]、moji[2]を表示 6が選ばれれば、moji[6]、moji[2]、moji[3]を表示 としようとしてます。 (5と6がおかしい感じなのは一番下で解説しています。) for(i=I;i<=I+2;i++){ if ( i<=6 ){ document.write(moji[i]+"<BR>"); } else{ document.write(moji[i-5]+"<BR>"); } } iの値が、ランダムで選ばれた1~6のいずれかの数字(I)からスタートして、 +2した値(I+2)までループする処理です。 この場合、Iが5や6になると、+2した値が7や8になってしまい、 参照する文字がなくなってしまうので、-5しているのです。 これにより、7は2に、8は3になります。 本当は 5が選ばれれば、moji[5]、moji[6]、moji[1]を表示 6が選ばれれば、moji[6]、moji[1]、moji[2]を表示 のほうがいいように感じます。 この場合-5でなく-6にしてみてください。
その他の回答 (1)
- qaz_qwerty_me
- ベストアンサー率19% (214/1115)
>for(i=I;i<=I+2;i++){ > if ( i<=6 ){ document.write(moji[i]+"<BR>"); } > else{ document.write(moji[i-5]+"<BR>"); } else{...}になる条件は i が7以上なので、6以下にするために5を引くという単純なことですけど・・・
お礼
最初から計算式を見て勉強してみます。 ありがとうございます!
お礼
丁寧にありがとうございます! とりあえずHPで使う事ができますm(__)m 勉強になりました。意味を理解しながら見てみます。