あなたの問題は実質的にFizz Buzz testです。倍数を見つけることは、通常、剰余を見つけることによって行われます。それを念頭に置いて:
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 です。