Cómo obtener el residuo o resto en una división en JavaScript

Estrada Web Group
Estrada Web Group
Cómo obtener el residuo o resto en una división en JavaScript

Resumen: en este tutorial, aprenderás sobre el operador de resto o residuo de JavaScript (%) para obtener el resto de un número dividido por otro número.

Introducción al operador de resto de JavaScript

JavaScript usa el % para representar el operador resto o residuo. El operador de resto devuelve el resto que queda cuando un valor se divide por otro valor.

Esta es la sintaxis del operador de residuo:

dividendo % divisor

A continuación se muestra la ecuación para el residuo:

dividendo = divisor * cociente + residuo
where |residuo| < |divisor|

En esta ecuación, el dividendo, el divisor, el cociente y el residuo todos son números enteros. El signo del residuo es el mismo que el signo del dividendo.

El signo del residuo es el mismo que el signo del dividendo.

Ejemplos del uso de operadores de residuo en JavaScript

Veamos algunos ejemplos del uso del operador residuo en JavaScript.

1) Uso del operador residuo con ejemplo de dividendo positivo

El siguiente ejemplo muestra cómo usar el operador resto con un dividendo positivo:

let remainder = 5 % -2;
console.log(remainder); // 1

remainder = 5 % 2;
console.log(remainder); // 1

2) Uso del operador residuo con ejemplo de dividendo negativo

El siguiente ejemplo utiliza el operador residuo con un dividendo negativo:

let remainder = -5 % 3;
console.log(remainder); // -2

remainder = -5 % -3;
console.log(remainder); // -2

3) Usar los valores especiales del operador residuo

Si un dividendo es un infinito y un divisor es un número finito, el resto es NaN. Por ejemplo:

let remainder = Infinity % 2;
console.log(remainder); // NaN

Si un dividendo es un número finito y un divisor es cero, el resto es NaN:

let remainder = 10 % 0;
console.log(remainder); // NaN

Si tanto el dividendo como el divisor son infinitos, el resto es NaN:

let remainder = Infinity % Infinity;
console.log(remainder); // NaN

Si un dividendo es un número finito y el divisor es un infinito, el resto es el dividendo. Por ejemplo:

let remainder = 10 % Infinity;
console.log(remainder); // 10

Si el dividendo es cero y el divisor no es cero, el resto es cero:

let remainder = 0 % 10;
console.log(remainder); // 0

Si el dividendo o el divisor no es un número, se convierte en un número utilizando la función Number() y se aplican las reglas anteriores. Por ejemplo:

let remainder = '10' % 3;
console.log(remainder); // 1

Usar el operador residuo para comprobar si un número es un número impar

Para comprobar si un número es un número impar, utiliza el operador de residuo (%) como el siguiente ejemplo:

let num = 13;
let isOdd = num % 2;

En este ejemplo, si el num es un número impar, el resto es uno. Pero si el num es un número par, el resto es cero.

Más adelante, aprenderás a definir una función que devuelva verdadero si un número es impar o falso de otra manera como esta:

function isOdd(num) {
  return num % 2;
}

O usando una función de flecha en ES6:

const isOdd = (num) => num % 2;

Operador de residuo vs modulo

En JavaScript, el operador de resto (%) no es el operador de modulo.

Si has trabajado con Python, puedes encontrar que % representa el operador de módulo en este lenguaje. Sin embargo, no es el caso en JavaScript.

Para obtener un módulo en JavaScript, utiliza la siguiente expresión:

((dividendo % divisor) + divisor) % divisor

O envuélvelo en una función:

const mod = (dividendo, divisor) => ((dividendo % divisor) + divisor) % divisor;

Si el dividendo y el divisor tienen el mismo signo, los operadores de residuo y módulo devuelven el mismo resultado. De lo contrario, devuelven resultados diferentes.

Por ejemplo:

const mod = (dividend, divisor) => ((dividend % divisor) + divisor) % divisor;

// dividen and divisor have the same sign
console.log('remainder:', 5 % 3); // 2
console.log('modulo:', mod(5, 3)); // 2

// dividen and divisor have the different signs
console.log('remainder:', -5 % 3); // -2
console.log('modulo:', mod(-5, 3)); // 1

Resultado:

remainder: 2
modulo: 2
remainder: -2
modulo: 1

Resumen

Usa el operador de resto de JavaScript (%) para obtener el resto o residuo de un valor dividido por otro valor.

Compartir artículo:

Más artículos geniales

Manténgase actualizado

Obtenga excelente contenido en su bandeja de entrada todas las semanas.
Solo contenido excelente, no compartimos su correo electrónico con terceros.
Subir al inicio de la pantalla