如何使5 mod 5 = 5而不是0?

Has*_*wns 0 javascript modulo

我正在制作一个使用mod 5的程序.

所以我将输入数除以5并返回余数.

var mod5 = function (xx) {
     var mod = 5;
     return ((xx % 5) + 5) % 5;
}
Run Code Online (Sandbox Code Playgroud)

因此6 = 1,4 = 48 = 3.

按照这个规则,所有可被整除的东西5 = 0,

为了让我的程序工作5, 10, 15, 20 ... mod 5,所有必须= 5而不是0.

但所有其他数字需要保持不变.最简单的方法是什么?

PS我对编程非常陌生,如果这没有意义,我很抱歉.

Oma*_*uez 5

var mod5 = function (xx) {
  return (xx % 5) || 5
}
Run Code Online (Sandbox Code Playgroud)

xx mod 5如果它不为零,则返回此函数,否则返回5,更多解释:

xx % 5将导致-4到4之间的任何数字-4 <= xx % 5 <= 4,然后,OR逻辑运算符将该结果与数字5进行比较,OR逻辑运算符的工作方式如下:

如果运营商的左侧值true,或者truthy它将在右边的值无关返回.

如果右侧的值是true,或者是真的,那么左侧的值是false,或者是假的,它将被返回.

另外,如果没有值true或者真值,false将返回.

在这种情况下,xx % 5只有在xx不是5的倍数时才会返回,否则,将返回5.

希望有帮助:)