JavaScriptで配列内の数値を合計する方法
JavaScriptには配列に対して要素の合計を返すようなメソッドがありません。
なので、reduceメソッド等を使って配列内の数値を合計するような処理を自作します。
配列.reduce((a, b) => a + b)
上記の処理を数値配列に対して使用すると、配列内の合計の数値が簡単に取得できます。
配列内の数値の合計を取得するコード例
以下は、数値配列であるnumbersの合計をsumに代入している処理です。
const numbers = [1, 4, 6, 14, 32];
const sum = numbers.reduce((a, b) => a + b);
console.log(sum) // 57
numbers内の合計である57がしっかり取得できていることが分かりますね。
配列内の連想配列の数値プロパティを合計する方法
配列の中の値が単純な数値ではなく、連想配列(オブジェクト)であり、その連想配列のプロパティを合計したい場合は以下のようにreduce()を使うと実現できます。
連想配列.reduce((sum, obj) => sum + obj.プロパティ, 0);
reduce()で配列内の連想配列から合計値を取得する方法
以下のコードは、連想配列が複数格納された配列personsから、各連想配列からageプロパティの合計を取得しています。
const persons = [
{ name: "taro", age: 11 },
{ name: "jiro", age: 20 },
{ name: "saburo", age: 24 },
{ name: "shiro", age: 37 }
];
const sum = persons.reduce((sum, obj) => sum + obj.age, 0);
console.log(sum) // 92
問題なく、連想配列内の数値から合計を割り出すことができてますね。