整数的锯齿波函数 Javascript

Sawtooth wave Function for integers Javascript

Saby 人,我正在尝试编写将映射

的函数
this -->    ...-5|-4|-3|-2|-1| 0| 1| 2| 3| 4| 5| 6| 7| 8| 9...
to this --> ... 3| 0| 1| 2| 3| 0| 1| 2| 3| 0| 1| 2| 3| 0| 1... 

理想情况下,如果我输入 myFunc(-1,4),它将 return 3 这里的第二个参数“4”是我想要循环的数字。

我发现 modulus operator (%) 是为 positive integers 做的,但我需要它在所有整数中工作并且无法找到解决方案。 我也知道我需要的是锯齿离散波所以我查看了 wikipedia 并且真的无法弄清楚。 请帮忙。

对于那些正数,这很简单,正如您所指出的:

x % 4

对于负数,您需要做的是将整条线向前移动为正数,然后取模。试试这个,它对正负都有效:

(x % 4 + 4) % 4