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