では、restパラメータと配列操作を組み合わせた実用例として、ショッピングカートの合計金額を計算する例を作ってみます。
例題:ショッピングカートの合計金額計算
// 商品と金額を渡すと合計金額を返す関数
function calculateTotal(userName, ...prices) {
console.log("購入者:", userName);
console.log("個別の価格:", prices);
// 配列の合計を計算
const total = prices.reduce((acc, price) => acc + price, 0);
console.log("合計金額:", total);
return total;
}
// 使ってみる
calculateTotal("太郎", 1200, 3500, 800);
// 出力:
// 購入者: 太郎
// 個別の価格: [1200, 3500, 800]
// 合計金額: 5500
calculateTotal("花子", 500, 1500, 300, 700);
// 出力:
// 購入者: 花子
// 個別の価格: [500, 1500, 300, 700]
// 合計金額: 3000
JavaScript解説
userNameは普通の引数
→ 最初の引数を購入者名として受け取る...pricesは restパラメータ
→ 残りの引数をすべて配列として受け取るreduceを使って配列の合計を計算
→accが累計、priceが現在の要素
→ 最後に合計金額を計算して返す- いくつ商品を渡しても対応可能
→ 便利で柔軟な関数になる
💡 ポイント
- restパラメータを使うと、可変長の引数を簡単に扱える
- 配列操作と組み合わせることで、実務でよくある集計処理も簡単に書ける


