JavaScript 中的模数运算符(%)
    
    Harshit Jindal
    2023年10月12日
    
    JavaScript
    JavaScript Operator
    
 
本教程讲解如何在 JavaScript 中使用模运算符%。
JavaScript 中的余数运算符%
    
当一个数字除以另一个数字时,它将给出剩余的余数。该运算符与其他语言中的 modulo 运算符不同,因为它具有不同的用途。它们的结果仅对于正数被除数相同,但是如果我们有负被除数 a 并对其应用模运算符,则结果将完全不同。在 JavaScript 中使用余数运算符通过表达式 ( (a % n) + n) % n 获得的结果与在 a % n 中使用模运算符获得的结果相同。
在 JavaScript 中使用余数运算符%的示例
被除数为正的余数运算情况
1 % -2   //  1
2 % 3    //  2
5.5 % 2  // 1.5
12 % 5   //  2
1 % 2    //  1
被除数为负的余数运算情况
-12 % 5      // -2
    - 1 % 2  // -1
    - 4 % 2  // -0
被除数为 NaN 的余数运算情况
NaN % 2  // NaN
被除数为无限的余数运算情况
Infinity % 2         // NaN
Infinity % 0         // NaN
Infinity % Infinity  // NaN
应用
数字是奇数还是偶数
我们可以通过检查整数是否可以被 2 整除来检查它是否为偶数。我们可以使用模运算符的返回值。如果为 0,则表示数字为偶数。
function isEven(n) {
  return n % 2 === 0;
}
isEven(6);  // true
isEven(3);  // false
数字的小数部分
我们可以简单地通过计算 n % 1 来做到这一点。
function getFractionalPart(n) {
  return n % 1;
}
getFractionalPart(2.5);  // 0.5
将分钟转换为小时
当给定表示分钟数的数字 n,并且我们想将其转换为小时和分钟时,我们可以使用模运算符。
const minutesToHoursAndMinutes = n =>
    ({hours: Math.floor(n / 60), minutes: n % 60});
minutesToHoursAndMinutes(123);  // { hours: 2, minutes: 3 }
        Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
    
作者: Harshit Jindal
    Harshit Jindal has done his Bachelors in Computer Science Engineering(2021) from DTU. He has always been a problem solver and now turned that into his profession. Currently working at M365 Cloud Security team(Torus) on Cloud Security Services and Datacenter Buildout Automation.
LinkedIn