我试图通过递增或递减1来遍历jQuery对象数组。因此,对于递减部分,我使用以下代码:

var splitted_id = currentDiv.attr('id').split('_');
var indexOfDivToGo = parseInt(splitted_id[1]);
indexOfDivToGo = (indexOfDivToGo-1) % allDivs.length;
var divToGo = allDivs[indexOfDivToGo];

所以我有4个ID为的元素:
div_0
div_1
div_2
div_3

我期望它会迭代为
3-2-1-0-3-2-等。

但在零之后返回-1,因此卡住了。因此它迭代为:

3-2-0--1-卡住

我知道我可以通过将代码的第二行更改为
indexOfDivToGo = (indexOfDivToGo-1 + allDivs.length) % allDivs.length;

但我想知道为什么JavaScript不计算负mod。也许这也会帮助另一个编码人员。

最佳答案

你可以试试这个:p-

Number.prototype.mod = function(n) {
    return ((this % n) + n) % n;
}

查看this

关于javascript - 如何在JavaScript中计算负整数的模数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18618136/

10-10 02:17