#やりたいこと
各配列の数値をそれぞれ合計したい
data:[
[]
[300000, 600000]
[]
[100007, 99999]
]
#エラー内容
下記でConsole.log(total)
するとエラーになる
let total = data.map((val) =>
val.reduce((sum, i) => sum + i)
);
#原因
初期値(initialValue)を設定していなかったので、配列がカラ(合計するものがない)ときにエラーが出たようです。
参照:Array.prototype.reduce()
オブジェクトの配列に含まれた値の合計値を出すには、すべての項目を関数内で取得できるようにするために initialValue を指定する必要があります。
#解決策
let total = beneficiariesData.map((val) =>
val.reduce((sum, i) => sum + i, 0)
);
結果
[]
[900000]
[]
[110,006]
末尾に初期値として0を設定すると合計できました