2016-07-13 7 views
0

Diese Frage ist nur für Neugier.Algorithmus zum Dekrementieren des Index und zum Zurückgehen keine maximale Array-Länge

weiß, dass ich diesen Algorithmus einen Arrayindex zu erhöhen und zurück auf Null, ohne wenn gehen:

getNextIndex(index,length) : number { 
    return ++index % length; 
} 

So zum Beispiel, wenn ein Array Länge 5, wenn der Index trifft 5 ist es 5% berechnet 5 'und geht auf Null zurück. Ich kann immer und immer wieder ohne Index außerhalb der Grenzen inkrementieren.

Wissen Sie einen Similtar-Algorithmus zu Dekrement Index ohne wenn?

So:

getPrevIndex(index,length) : number { 
    index--; 
    if(index < 0) { 
     index = length-1; 
    } 
    return index; 
} 

Aber ohne boolean-Klausel: Index < 0.

Antwort

0
getPrevIndex(index,length) : number { 
    return (index + length - 1) % length; 
} 
Verwandte Themen