Javascript Modulo – % – Rest-Operator

Array Elemente in String / Zeichenkette umwandeln

Der Modulo- oder Rest-Operator % gibt den Rest einer ganzzahligen Division zurück – wenn ein Operand durch einen zweiten Operand geteilt wird. Wenn der erste Operand negativ ist, ist der Rückgabewert ebenfalls immer negativ, ist der erste Operand positiv, ist auch der Rückgabewert immer positiv.

23-02-02 SITEMAP CSS HTML JS Basis JS Web Tutorial SVG

Math.floor() / Math.trunc

Das Ergebnis der Division ist eine Gleitkommazahl, Math.floor() und Math.trunc() geben einen Integer zurück – z.B. 49 : 28 = 1.75 und Math.floor(1.75) = 1.

Die Math.floor sag also, wie oft der zweite Operand in den ersten Operand passt, der Modulo-Operator gibt den Rest zurück.

const x = 28;
const y = 49;

const quotient = Math.floor(y/x);   // 1
const rest = y % x;                 // 21

Anstelle von Math.floor kann Math.trunc(y/x) genutzt werden.

const num = 77 % 12; // gibt 5 zurück
const neg = -37 % 5; // gibt -2 zurück

Modulo Negativ, Positiv

Wenn der Dividend unendlich ist oder der Divisor 0 ist, ist das Ergebnis immer NaN.

Modulo Beispiele

Der Modulo-Operator kommt zum Einsatz, wenn getestet wird, ob eine Zahl gerade oder ungerade ist, ob ein Wert durch einen anderen Wert teilbar ist, beim zyklischen Inkrement / Dekrement (hoch- bzw. runterzählen) innerhalb eines Intervals.

So wird der %-Operator z.B. in einer Animation oder Simulation benutzt, wenn ein Winkel immer zwischen 0 und 360 Grad liegen muss.

Die Restwertfunktion rechnet Dezimalzahlen in Binär-, Hexadezimal- oder Oktalzahlen um (http://www.fachinformatikerwissen.de/pages/wis_grun_modu.shtml).

if (11 % 2 === 0) {
	console.log ("gerade")
} else {
	console.log ("ungerade")
}

Modulo bei floats – Gleitkommazahlen

Anders als in den meisten Programmiersprachen funktioniert der %-Operator auch bei floating point numbers, also mit Gleitkommazahlen.

const rem = 7.5 % 2; // gibt 1.5 zurück
console.log (rem)