Sto cercando di iterare su un array di oggetti jQuery, per incremento o decremento di 1. Così, per la parte decremento, io di questo codice:Come calcolare il modulo degli interi negativi in JavaScript?
var splitted_id = currentDiv.attr('id').split('_');
var indexOfDivToGo = parseInt(splitted_id[1]);
indexOfDivToGo = (indexOfDivToGo-1) % allDivs.length;
var divToGo = allDivs[indexOfDivToGo];
così ho 4 elementi con id:
div_0
div_1
div_2
div_3
mi aspettavo di iterare come 3-2 - 1-0 - 3-2 - ecc ..
ma restituisce -1 dopo lo zero, quindi è bloccato. Così itera come:
3 - 2 - 1 - 0 - -1 - bloccato
So che posso probabilmente risolvere il problema cambiando la seconda linea del mio codice per
indexOfDivToGo = (indexOfDivToGo-1 + allDivs.length) % allDivs.length;
ma io mi chiedo perché JavaScript non stia calcolando le mod negative. Forse questo aiuterà un altro coder fellow.
Esistono diverse soluzioni mod negative. http://stackoverflow.com/questions/1082917/mod-of-negative-number-is-melting-my-brain – ryan
possibile duplicato di [modulo JavaScript che non si comporta] (http://stackoverflow.com/questions/4467539/ javascript-modulo-not-behaving) –
Dovresti considerare di cambiare la tua risposta accettata a quella in basso, poiché ti dà una soluzione reale alla domanda posta. – Marquizzo