2017-07-05 8 views
0

私はCodeWarsを使用して自分のJavascriptを練習しようとしていますが、まだ学習初心者です。私はこの1つの質問に固執しており、数値入力に基づいて数多くの文字列を使って、最も簡単な方法で反復する方法を説明することができます(私はそれが呼ばれていると信じています)。ここで反復に基づいて文字列を選択

質問です:あなたは、次のフレーズ のそれぞれに花びらが破れたたびに言って花オフ花びらを選ぶ

私はあなた

少し

大好き

たくさん

熱烈に は狂ったように

は全くない

このカタであなたの目標は、あなたが ため花びら、nb_petals > 0の与えられた数の花を言うことになるフレーズを決定することです。

は、これまでのところ、私はこの持っている:

function howMuchILoveYou(nbPetals) { 

var petalSaying = ["I love you", "A little", "A lot", "Passionately", 
"Madly", "Not at all"]; 

for(var petals = 0; nbPetals > 0; nbPetals--); 
} 

を、私はそれがnbPetalsの番号の入力に基づいて必要な文字列をプリントアウトして取得するには、この後に行くことがどこか分かりません。

たとえば、入力番号が7の場合は、I love youと出力されます。

ご協力いただきありがとうございます。

+0

質問にはかなり言い難いです。あなたは、すべての花びらのためのフレーズのそれぞれが引き裂かれている、または各花びらのためのフレーズの1つが引き裂かれていると言っていますか? –

+0

フレーズは、すべての花弁が剥がれた場合にのみ表示されます。だから花に8枚の花びらがあれば、最後には「少し」と印刷しなければなりません。 – bgongre

答えて

0

インデックスを使用して、指定された配列要素にアクセスするだけで、反復処理を行う必要はありません。数が要素数より多い場合は、モジュラスを使用してラップアラウンドします。

function howMuchILoveYou(nbPetals) { 
    var petalSaying = ["I love you", "A little", "A lot", "Passionately", "Madly", "Not at all"]; 
    var index = (nbPetals - 1) % petalSaying.length; 
    return petalSaying[index]; 
} 

nbPetals - 1は、配列インデックスが0から始まりますが、1nbPetals開始しているという事実のために調整されます。

+0

その応答をありがとう、私はそれを考え出すことはなかったと思う。この場合、モジュラスが何をしているのか説明できますか? – bgongre

+0

モジュラスは常に行いますが、除算の残りの部分を返します。だからあなたは時計式の算術演算を手に入れます。 – Barmar

関連する問題