JavaScript/Math/min

カテゴリ:Book:JavaScript#Math/min%20

Math.min(...args) は、引数として与えられた数値の中で最小の値を返します。引数は1つ以上指定する必要があります[1]

  • 引数が与えられない場合、Infinity を返します。
  • 引数が NaN の場合、NaN を返します。
  • 引数が +0 または -0 の場合、+0 を返します。
  • 引数が Infinity の場合、Infinity を返します。
  • 引数が -Infinity の場合、-Infinity を返します。

最小値を計算するプログラム

以下のプログラムは、ユーザーが入力した値の中で最小の値を計算します。

const f = p => {
  for (;;) {
    a = prompt(`${p}は何ですか?`);
    if (!isNaN(a))
      return a;
    alert(`${p}に、入力ミスがあります。 "${a}"`);
  }
}

for (;;) {
  const x = f("値1");
  const y = f("値2");
  const z = f("値3");
  const min = Math.min(x, y, z);
  if (!isNaN(min)) {
    alert(`${x}, ${y}, ${z} の中で最小の値は ${min} です。`);
    break;
  }
  alert("入力が大きすぎます。");
}

このプログラムでは、Math.min を使用して3つの値の中で最小の値を計算しています。ユーザーが入力した値が NaNInfinity の場合、適切に処理されます。

配列の最小値を計算するプログラム

以下のプログラムは、配列の最小値を計算します。

const f = p => {
  for (;;) {
    a = prompt(`${p}は何ですか?`);
    if (!isNaN(a))
      return a;
    alert(`${p}に、入力ミスがあります。 "${a}"`);
  }
}

for (;;) {
  const x = f("値1");
  const y = f("値2");
  const z = f("値3");
  const arr = [x, y, z];
  const min = Math.min(...arr);
  if (!isNaN(min)) {
    alert(`${arr} の中で最小の値は ${min} です。`);
    break;
  }
  alert("入力が大きすぎます。");
}

このプログラムでは、Math.min を使用して配列の最小値を計算しています。... 演算子を使用して、配列を展開しています。

注意点

  • 引数の数: Math.min は、1つ以上の引数を必要とします。引数が与えられない場合、Infinity を返します。
  • 戻り値の範囲: Math.min の戻り値は、引数の中で最小の値です。
  • 精度: 浮動小数点演算の特性上、Math.min の結果には微小な誤差が含まれることがあります。

脚註

  1. これは、数学的には として定義されます。

外部リンク

カテゴリ:Book:JavaScript#Math/min%20 カテゴリ:JavaScript
カテゴリ:Book:JavaScript カテゴリ:JavaScript カテゴリ:Pages using the JsonConfig extension