💾mod(a, b)

modulo

JSoperatorarithmetic ⟩ mod

mod(a, b) returns the nonnegative remainder of a / b.

👉 remainder vs. modulo vs. mod

// ⭐️ mod: r = a - b*q
// ------------------------
// • 0 <= r < |b| (remainder in math)
function mod(a, b) {
    b = Math.abs(b);
    return ((a % b) + b) % b;
}

💈範例:

// remainder (a % b)
//┌─── `a` decides the "sign" ⭐️
//│
  5 %  3,    //  2
  5 % -3,    //  2
 -5 %  3,    // -2
 -5 % -3,    // -2

// modulo(a, b)
//          ┌─── `b` decides the "sign" ⭐️
//          │ 
modulo( 5,  3),    //  2
modulo( 5, -3),    // -1
modulo(-5,  3),    //  1
modulo(-5, -3),    // -2

modulo(6.4, 2.3),     //  1.8000000000000007

// ⭐️ mod(a, b) (in math)
//                    ┌─── always >= 0 ⭐️
//                    │ 
mod( 5,  3),       // 2
mod( 5, -3),       // 2
mod(-5,  3),       // 1
mod(-5, -3),       // 1

Last updated