JavaScript のモジュロ演算子 %

Harshit Jindal 2023年10月12日
  1. JavaScript の剰余演算子%
  2. JavaScript で剰余演算子%を使用する例
  3. アプリケーション
JavaScript のモジュロ演算子 %

このチュートリアルでは、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 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