JavaScript のモジュロ演算子 %
Harshit Jindal
2023年10月12日
このチュートリアルでは、JavaScript でモジュロ演算子%
を使用する方法を説明します。
JavaScript の剰余演算子%
ある数値(配当)
を別の数値(除数)
で割ったときの余りが得られます。この演算子は、目的が異なるため、他の言語のモジュロ
演算子と同じではありません。それらの結果は、正の被除数についてのみ同じですが、負の被除数 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 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