Modulo Operator(%) in JavaScript

Harshit Jindal Oct 12, 2023
  1. Remainder Operator % in JavaScript
  2. Example of Using Remainder Operator % in JavaScript
  3. Applications
Modulo Operator(%) in JavaScript

This tutorial teaches how to use the modulo operator % in JavaScript.

Remainder Operator % in JavaScript

It gives the remainder left over when one number (dividend) is divided by another number (divisor). This operator is not the same as the modulo operator in other languages because it serves a different purpose. Their results are the same only for a positive dividend, but if we have a negative dividend a and a modulo operator is applied over it, then the results will be completely different. The result obtained by the expression ( (a % n) + n) % n using the remainder operator in JavaScript is the same as the result obtained using the modulo operator in a % n.

Example of Using Remainder Operator % in JavaScript

Modulo With Positive Dividend

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

Remainder With Negative Dividend

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

Remainder With NaN

NaN % 2  // NaN

Remainder With Infinity

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

Applications

Is a Number Odd or Even?

We can check if an integer is even by checking if it is divisible by 2. We can use the modulo operator’s return value. If it is 0, it means the number is even.

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

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

the Fractional Part of a Number

We can do this simply by calculating n % 1.

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

getFractionalPart(2.5);  // 0.5

Convert Minutes to Hours

When given a number n that represents the number of minutes and we want to convert it to hours and minutes, we can use the modulo operator.

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

Related Article - JavaScript Operator