要素の値を合計する
【開発環境】
OS:Win11(64ビット)
VSCode1.72.2、
クロム
【要素の値を合計する方法】
Array オブジェクトの reduce メソッドを使うと、配列に含まれるすべての要素の値を合計し、その合計値を返します。
書式
配列名.reduce( コールバック関数(合計値の保管用, 要素の値), 初期値 )
配列名.filter( コールバック関数(合計値の保管用, 要素の値, 要素のインデックス), 初期値 )
配列名.filter( コールバック関数(合計値の保管用, 要素の値, 要素のインデックス, 配列), 初期値 )
配列名.filter( コールバック関数(合計値の保管用, 要素の値, 要素のインデックス), 初期値 )
配列名.filter( コールバック関数(合計値の保管用, 要素の値, 要素のインデックス, 配列), 初期値 )
reduce メソッドは配列に含まれる要素を先頭から順に取り出しコールバック関数を呼び出します。コールバック関数の中では合計値の保管用の値に現在の要素の値を加算したものを戻り値として返します。最終的に reduce メソッドはすべての要素の合計を行った値を戻り値として返します。
サンプル文
let result = [48, 75, 92, 61, 54, 83, 76];
let total = result.reduce(function(sum, element){
return sum + element;
}, 0); //初期値を0に設定したため、変数sumには0が設定される
console.log(total);
>> 489
初期値として 0 を指定しているので変数 sum には最初 0 が格納されます。その後、コールバック関数をすべての要素に対して順に呼び出し、コールバック関数は変数 sum に要素の値を加算して戻り値として返します。返された値は sum に格納されます。そして次の要素に対してコールバック関数が呼び出されます。最後に reduce メソッドの戻り値としてすべての要素の値を合計した値が返されます。
アロー関数式を使うと
let result = [48, 75, 92, 61, 54, 83, 76];
let total = result.reduce((sum, element) => sum + element, 0); console.log(total);
> 489
※コメント投稿者のブログIDはブログ作成者のみに通知されます