您的问题实际上是Fizz Buzz 测试。找出倍数通常是通过找到余数来完成的。请记住:
nominator / denominator = quotient + (remainder / denominator)
examples:
2 / 2 = 1 + ( 0 / 2 )
3 / 2 = 1 + ( 1 / 2 )
4 / 2 = 2 + ( 0 / 2 )
模运算符定义为求余数:
nominator mod denominator = remainder
from the examples above:
2 mod 2 = 0
3 mod 2 = 1
4 mod 2 = 0
请注意,2 的倍数有余数 0。3也一样:
1 mod 3 = 1 -- 1 / 3 = 0 + ( 1 / 3 )
2 mod 3 = 2 -- 2 / 3 = 0 + ( 2 / 3 )
3 mod 3 = 0 -- 3 / 3 = 1 + ( 0 / 3 )
4 mod 3 = 1 -- 4 / 3 = 1 + ( 1 / 3 )
5 mod 3 = 2 -- 5 / 3 = 1 + ( 2 / 3 )
6 mod 3 = 0 -- 6 / 3 = 2 + ( 0 / 3 )
在 Javascript 中查找倍数的最简单方法是使用余数(模数)运算符:
0 % 2; // = 0
1 % 2; // = 1
2 % 2; // = 0 because 2 is divisible with 2
3 % 2; // = 1
4 % 2; // = 0 because 4 is divisible with 2
如果您使用运算符找到余数,您可以对 3 和 5 执行相同的操作。如果结果为 0,那么它可以被整除,因此是所讨论数字的倍数。
照常; 要重复一组整数,您可以使用for 循环,并使用if-statements控制循环内的流程。
这是一个帮助您入门的 jsFiddle。