JavaScript 中的模數運算子(%)
Harshit Jindal
2023年1月30日
2021年3月21日
本教程講解如何在 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 }
Author: 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