我正在制作一个使用 mod 5 的程序。
所以我将输入数字除以五并返回余数。
var mod5 = function (xx) {
var mod = 5;
return ((xx % 5) + 5) % 5;
}
因此6 = 1
, 4 = 4
,和8 = 3
.
遵循此规则,所有可被 5 = 0
整除的事物,
为了让我的程序正常工作,5, 10, 15, 20 ... mod 5
,全部必须 = 5
而不是0
.
但所有其他数字需要保持不变。最简单的方法是什么?
附注我对编程非常陌生,如果这没有意义,我很抱歉。
最佳答案
var mod5 = function (xx) {
return (xx % 5) || 5
}
该函数将返回xx mod 5
如果不等于0,则返回5,更多解释:
xx % 5
将产生 -4 到 4 -4 <= xx % 5 <= 4
之间的任何数字,然后,一个OR logical operator将该结果与数字 5 进行比较,OR 逻辑运算符的工作原理如下:
如果运算符左边的值为true
,或truthy它将独立于右侧的值而返回。
如果右侧的值为 true
,或 true,并且左侧的值为 false
,或falsy它将被退回。
或者,如果没有值是 true
或真相,false
将会被退回。
在本例中,xx % 5
仅当 xx
时才会返回不是5的倍数,否则返回5。
希望有帮助:)
关于javascript - 如何使 5 mod 5 = 5 而不是零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42497520/