「モード」を指定できるようにすると、まさに電卓っぽいユーティリティになります。
サンプルコード
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"モードで累乗計算をする。


