JavaScript 中的模數運算子(%)

Harshit Jindal 2023年1月30日 2021年3月21日
  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 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