摘要:在本教程中,您将学习 JavaScript 余数运算符 (%),以获取一个数字除以另一个数字的余数。
JavaScript 余数运算符简介
JavaScript 使用 % 来表示余数运算符。余数运算符返回一个值除以另一个值后剩余的余数。
以下是余数运算符的语法
dividend % divisor以下是余数的方程式
dividend = divisor * quotient + remainder
where |remainder| < |divisor|在此方程式中,被除数、除数、商 和 余数 都是整数。余数 的符号与 被除数 的符号相同。
余数 的符号与 被除数 的符号相同。
JavaScript 余数运算符示例
让我们看一些使用 JavaScript 余数运算符的示例。
1) 使用正被除数的余数运算符示例
以下示例显示了如何使用正被除数的余数运算符
let remainder = 5 % -2;
console.log(remainder); // 1
remainder = 5 % 2;
console.log(remainder); // 1Code language: JavaScript (javascript)2) 使用负被除数的余数运算符示例
以下示例使用负被除数的余数运算符
let remainder = -5 % 3;
console.log(remainder); // -2
remainder = -5 % -3;
console.log(remainder); // -2Code language: JavaScript (javascript)3) 使用余数运算符的特殊值
如果被除数是 Infinity 且除数是有限数,则余数为 NaN。例如
let remainder = Infinity % 2;
console.log(remainder); // NaNCode language: JavaScript (javascript)如果被除数是有限数且除数为零,则余数为 NaN
let remainder = 10 % 0;
console.log(remainder); // NaNCode language: JavaScript (javascript)如果被除数和除数都是 Infinity,则余数为 NaN
let remainder = Infinity % Infinity;
console.log(remainder); // NaNCode language: JavaScript (javascript)如果被除数是有限数且除数是 Infinity,则余数为被除数。例如
let remainder = 10 % Infinity;
console.log(remainder); // 10Code language: JavaScript (javascript)如果被除数为零且除数非零,则余数为零
let remainder = 0 % 10;
console.log(remainder); // 0Code language: JavaScript (javascript)如果被除数或除数不是数字,则使用 Number() 函数将其转换为数字并应用上述规则。例如
let remainder = '10' % 3;
console.log(remainder); // 1Code language: JavaScript (javascript)使用余数运算符检查一个数字是否为奇数
要检查一个数字是否为奇数,您可以使用余数运算符 (%),如以下示例所示
let num = 13;
let isOdd = num % 2;Code language: JavaScript (javascript)在此示例中,如果 num 是奇数,则余数为 1。但是,如果 num 是偶数,则余数为 0。
稍后,您将学习如何 定义一个函数,如果一个数字是奇数则返回 true,否则返回 false,如下所示
function isOdd(num) {
return num % 2;
}Code language: JavaScript (javascript)或者使用 ES6 中的箭头函数
const isOdd = (num) => num % 2;Code language: JavaScript (javascript)余数与模运算符
在 JavaScript 中,余数运算符 (%) 不是模运算符。
如果您一直在使用 Python,您可能会发现 % 在这种语言中表示模运算符。但是,JavaScript 中并非如此。
要在 JavaScript 中获得模数,您可以使用以下表达式
((dividend % divisor) + divisor) % divisor或将其包装在一个函数中
const mod = (dividend, divisor) => ((dividend % divisor) + divisor) % divisor;Code language: JavaScript (javascript)如果除数和除数具有相同的符号,则余数运算符和模运算符返回相同的结果。否则,它们将返回不同的结果。
例如
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
Code language: JavaScript (javascript)输出
remainder: 2
modulo: 2
remainder: -2
modulo: 1Code language: HTTP (http)摘要
- 使用 JavaScript 余数运算符 (
%) 获取一个值除以另一个值的余数。