modulo example js

Example 1: js modulo

// The JS % operater is REMAINDER not MODULO
// For modulo behaviour use
function mod(n, m) {
  return ((n % m) + m) % m;
}

Example 2: mod remainder js

function mod(n, a, b) {
	n = n | 0;
	a = a | 0;
	b = b | 0;
	let rem;
	if (a < 0 || b < 0) {
		const places = (b - a);
		rem = (n - a) % (places + 1);
		rem = rem < 0 ? (rem + (places + 1)) : rem === 0 ? 0 : rem;
		return rem - (places - b);
	}
	if (n === b) return n;
	if (n === b + 1) return a;
	if (n === a - 1) return b;
	rem = n % (b || 1);
	rem = rem < a ? (rem + b) : rem === 0 ? 0 : rem;
	return rem;
}

mod(1, 1, 5); // 1
mod(0, 1, 5); // 5
mod(0, -1, 5); // 0
mod(-2, -1, 5); // 5