JavaScript 中的模數運算子(%)

Harshit Jindal 2023年10月12日
  1. JavaScript 中的餘數運算子%
  2. 在 JavaScript 中使用餘數運算子%的示例
  3. 應用
JavaScript 中的模數運算子(%)

本教程講解如何在 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 }
作者: Harshit Jindal
Harshit Jindal avatar Harshit Jindal avatar

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

相關文章 - JavaScript Operator