JavaScript | 配列のすべての要素を合計する方法(reduce メソッド)

JavaScript JavaScript
スポンサーリンク

主な内容の要点

JavaScriptで配列の合計を出すときは、reduceメソッドを使うのが便利です。配列の要素を順番に処理して、最終的に1つの値(合計など)を返してくれます。


reduceメソッドの基本

  • 書き方:
配列.reduce((合計値を入れる変数, 要素の値) => {
  return 合計値を入れる変数 + 要素の値;
}, 初期値);
JavaScript
  • 初期値を指定すると、最初の合計値にその値が入ります。
    (例:0を指定すれば「0から足し算スタート」)

具体例

let numbers = [48, 75, 92, 61, 54, 83, 76];
let total = numbers.reduce((sum, element) => sum + element, 0);
console.log(total); // 489
JavaScript
  • sum が合計を保持する変数
  • element が配列の各要素
  • 最後に 489 が返る

オブジェクト配列の場合

配列の中身がオブジェクトでもOK。例えば「点数を持つ生徒のリスト」から合計点を出すこともできます。

let users = [
  { name: 'Yamada', result: 75 },
  { name: 'Suzuki', result: 91 },
  { name: 'Kudou', result: 80 }
];

let total = users.reduce((sum, user) => sum + user.result, 0);
console.log(total); // 246
JavaScript

注意点

  • 初期値を省略すると、配列の最初の要素が初期値として使われます。
    → 数値配列なら問題ないけど、オブジェクト配列だと意図しない動作になるので、必ず初期値を指定するのがおすすめです。
  • reduceは「合計」以外にも「最大値を探す」「文字列を連結する」など、配列を1つの値にまとめたいとき全般に使える便利なメソッドです。

初心者向け “使うときのポイント”

  • 配列の値を全部足したいときには「for-loop(for文)で1つずつ足す」でもいいけれど、 reduce を使えばコードがスッキリする。
  • reduce を使うとき 必ず 「累積値(sum 等)」と「現在の要素(element 等)」を引数に取るコールバック関数を用意する。
  • 初期値(多くの場合 0)を指定しておくと安心。特に「数値+オブジェクト」など混在した配列の場合など。
  • コールバック関数は 返り値が次の累積値になる という点をイメージしておく。
  • 要素がオブジェクトなら「どのプロパティを合計するか」を明示的に指定しよう。

👉 まとめると、配列の合計を出すなら reduce を使い、初期値をしっかり指定するのが基本です。
初心者のうちは「reduce = 配列をまとめる道具」と覚えると理解しやすいです。

タイトルとURLをコピーしました