カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

JavaScriptで配列の値を合計する

この記事は最終更新日から1年以上経過しています。

JavaScriptにもPHPのarray_sumみたいな関数があったらな~とずっと思っていました。
ふとまた調べているとそれに近しい感じに出来るメソッドがあったのでご紹介します。

とりあえず配列を用意

const nums = [12, 23, 35, 41, 56, 64, 77];

関数を使った普通のやり方

const sum = function(nums) {
	let total = 0;
	for (let i = 0, len = nums.length; i < len; i++) total += nums[i];
	return total;
};

const total = sum(nums);

console.log({total});

ちなみに出力結果はこの通り

{ total: 308 }

そして調べていて発見したのがArray.reduceメソッドです。
書式:配列名.reduce( コールバック関数(結果の値, 要素の値), [初期値] )
初期値は省略可です。

実際に使ってみましょう。

const sum = nums.reduce(function(sum, num){
  return sum + num;
}, 0);

結構簡単ですね。コードも短くなります。
でも、もっと短くしたいのでアロー関数を使ってみましょう。

const sum = nums.reduce((sum, num) => {
    return sum + num;
}, 0);

う~ん、もっと短く…

const sum = nums.reduce((sum, num) => sum + num, 0);

1行になりました。
皆さんも是非使ってみてください。

この記事がお役に立ちましたらシェアお願いします
8,649 views

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です