我试图通过递增或递减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/