1

JavaScript 取余运算符

 1 year ago
source link: https://www.myfreax.com/javascript-remainder-operator/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
JavaScript 取余运算符

JavaScript 取余运算符

在本教程中,您将了解 JavaScript 余数运算符 %  计算一个数除以另一个数的余数。

JavaScript 取余运算符介绍

JavaScript 使用 % 来表示余数运算符。当一个值除以另一个值时,余数运算符返回剩余的余数。

取余运算符的语法形式是 dividend % divisor。下面显示了余数的等式:

被除数 = 除数 * 商 + 余数
余数 < 除数

在这个等式中被除数,除数、商、 和余数都是整数。被除数 的符号与余数的符号相同。

余数的符号与被除数的符号相同。

JavaScript 余数运算符示例

让我们举一些使用 JavaScript 取余运算符的例子。

余数运算符与正被除数

以下示例显示了如何将余数运算符与正被除数一起使用:

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

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

余数运算符与负被除数

以下示例使用余数运算符与负被除数:

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

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

取余运算符的特殊值

如果被除数是 Infinity 且除数是有限数,则余数是 NaN。例如:

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

如果被除数是有限数且除数为零,则余数是 NaN

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

如果被除数和除数都是 Infinity,则余数是NaN

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

如果被除数是有限数且除数是 Infinity,则余数是被除数。例如:

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

如果被除数为零且除数非零,则余数为零:

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

如果被除数或除数不是数字,则使用 Number() 函数将其转换为数字并应用上述规则。例如:

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

余数运算符检查数字是否为奇数

要检查数字是否为奇数,请使用余数运算符  %,如下例所示:

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

在这个例子中,如果 num 是奇数,则余数是一。但如果 num 是偶数,则余数为零。

稍后,您将学习如何定义一个函数,函数在数字为奇数返回 true 或其他情况时返回 false,如下所示:

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

或者在 ES6 使用箭头函数:

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

余数与模运算符

在 JavaScript 中,余数运算符 % 不是模运算符。

如果您一直在使用 Python,您可能会发现 % 在这种语言中代表模运算符。但是,在 JavaScript 中并非如此。

要在 JavaScript 中获取模数,您可以使用表达式  ((被除数 % 除数) + 除数) % 除数。或者将其封装装在一个函数中:

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

如果除法和除数的符号相同,则余数和模运算符返回相同的结果。否则,它们会返回不同的结果。

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

// 被除数和除数符号相同
console.log('remainder:', 5 % 3); // 2
console.log('modulo:', mod(5, 3)); // 2

// 被除数和除数符号不同
console.log('remainder:', -5 % 3); // -2
console.log('modulo:', mod(-5, 3)); // 1
remainder: 2
modulo: 2
remainder: -2
modulo: 1
  • 使用 JavaScript 取余运算符 % 获取一个值除以另一个值的余数。

微信公众号

支付宝打赏

myfreax 淘宝打赏

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK