我一直在尝试使用CodeWars练习我的Javascript,而且我还处于初学阶段。我一直坚持这个问题,我希望有人可以用最简单的方式向我解释如何通过基于数字输入的众多字符串进行迭代(我相信这就是所谓的)。
以下是问题:
你摘下一朵花,说出以下每一句话 每次花瓣被撕裂:
我爱你
一点点
很多
热情
疯狂
完全没有
你在这个kata中的目标是确定你要说的是哪个短语 一朵花,给定数量的花瓣,
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 :(得分: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
开始,但nbPetals
从1
开始。