Modulo-Operator(%) in JavaScript

Harshit Jindal 12 Oktober 2023
  1. Restoperator % in JavaScript
  2. Beispiel für die Verwendung des Restoperators % in JavaScript
  3. Anwendungen
Modulo-Operator(%) in JavaScript

In diesem Tutorial erfahren Sie, wie Sie den Modulo-Operator % in JavaScript verwenden.

Restoperator % in JavaScript

Es gibt den Rest übrig, wenn eine Zahl (Dividende) durch eine andere Zahl (divisor) geteilt wird. Dieser Operator ist in anderen Sprachen nicht mit dem Operator modulo identisch, da er einem anderen Zweck dient. Ihre Ergebnisse sind nur für eine positive Dividende gleich, aber wenn wir eine negative Dividende a haben und ein Modulo-Operator darauf angewendet wird, sind die Ergebnisse völlig unterschiedlich. Das Ergebnis, das durch den Ausdruck ( (a % n) + n) % n unter Verwendung des Restoperators in JavaScript erhalten wird, ist das gleiche wie das Ergebnis, das unter Verwendung des Modulooperators in a % n erhalten wird.

Beispiel für die Verwendung des Restoperators % in JavaScript

Modulo mit positiver Dividende

1 % -2   //  1
2 % 3    //  2
5.5 % 2  // 1.5
12 % 5   //  2
1 % 2    //  1

Rest mit negativer Dividende

-12 % 5      // -2
    - 1 % 2  // -1
    - 4 % 2  // -0

Rest mit NaN

NaN % 2  // NaN

Rest mit Unendlichkeit

Infinity % 2         // NaN
Infinity % 0         // NaN
Infinity % Infinity  // NaN

Anwendungen

Ist eine Zahl ungerade oder gerade?

Wir können überprüfen, ob eine Ganzzahl gerade ist, indem wir prüfen, ob sie durch 2 teilbar ist. Wir können den Rückgabewert des Modulo-Operators verwenden. Wenn es 0 ist, bedeutet dies, dass die Zahl gerade ist.

function isEven(n) {
  return n % 2 === 0;
}

isEven(6);  // true
isEven(3);  // false

der Bruchteil einer Zahl

Wir können dies einfach tun, indem wir n % 1 berechnen.

function getFractionalPart(n) {
  return n % 1;
}

getFractionalPart(2.5);  // 0.5

Konvertieren von Minuten in Stunden

Wenn wir eine Zahl n erhalten, die die Anzahl der Minuten darstellt und die wir in Stunden und Minuten umwandeln möchten, können wir den Modulo-Operator verwenden.

const minutesToHoursAndMinutes = n =>
    ({hours: Math.floor(n / 60), minutes: n % 60});

minutesToHoursAndMinutes(123);  // { hours: 2, minutes: 3 }
Harshit Jindal avatar Harshit Jindal avatar

Harshit Jindal has done his Bachelors in Computer Science Engineering(2021) from DTU. He has always been a problem solver and now turned that into his profession. Currently working at M365 Cloud Security team(Torus) on Cloud Security Services and Datacenter Buildout Automation.

LinkedIn

Verwandter Artikel - JavaScript Operator