重複の可能性:
負の数の Mod が私の脳を溶かしています!
私がやろうとしていることのためのより良いアルゴリズムがあるかどうか疑問に思っていました:
ラップインデックス (-6, 3) = 0 ラップインデックス (-5, 3) = 1 ラップインデックス (-4, 3) = 2 ラップインデックス (-3, 3) = 0 ラップインデックス (-2, 3) = 1 wrapIndex(-1, 3) = 2 ラップインデックス (0, 3) = 0 ラップインデックス (1, 3) = 1 ラップインデックス (2, 3) = 2 ラップインデックス (3, 3) = 0 ラップインデックス (4, 3) = 1 ラップインデックス (5, 3) = 2
私が思いついた
関数 wrapIndex(i, i_max) { if(i > -1) i%i_max を返します。 var x = i_max + i%i_max; if(x == i_max) 0 を返します。 x を返します。 }
これを行うより良い方法はありますか?