JavaScript | 引数の数に応じて処理を変える関数

JavaScript JavaScript
スポンサーリンク

「モード」を指定できるようにすると、まさに電卓っぽいユーティリティになります。


サンプルコード

function calculator(mode, ...nums) {
  if (nums.length === 0) {
    return "数値を入力してください";
  }

  switch (mode) {
    case "add":
      return nums.reduce((sum, n) => sum + n, 0);

    case "multiply":
      return nums.reduce((product, n) => product * n, 1);

    case "average":
      return nums.reduce((sum, n) => sum + n, 0) / nums.length;

    default:
      return "対応していないモードです";
  }
}

// 使い方
console.log(calculator("add", 1, 2, 3, 4));      // 10
console.log(calculator("multiply", 2, 3, 4));   // 24
console.log(calculator("average", 10, 20, 30)); // 20
console.log(calculator("divide", 10, 2));       // 対応していないモードです
JavaScript

✅ ポイント

  • 第1引数 → モードを指定(”add” / “multiply” / “average” など)。
  • 残りの引数 → 計算対象の数値(...nums で配列として受け取る)。
  • switch文 を使ってモードごとに処理を分ける。
  • 引数がない場合や未対応モードの場合はエラーメッセージを返す。

💡 発展アイデア

  • "max" / "min" モードを追加して最大値・最小値を返す。
  • "subtract" モードで引き算をサポートする。
  • "power" モードで累乗計算をする。
タイトルとURLをコピーしました