JavaScriptのreduceを使用した初期値付きのsum関数の作成方法

初期値付きのsum関数

JavaScriptで複数の引数を受け取り、合計して返すsum関数のようなものがよく使用される。

通常は初期値0から合計値を算出するが、初期値に-10や+10を設定して計算したい場合もある。

reduceで初期値設定

reduceなら初期値を設定できるため、前述の条件を下記のようにに満たせる。

const sum = (init, ...args) => {
  return args.reduce((x, y) => x + y, init);
};
console.log(sum(10, 1, 2, 3));
// => 16

このように書けば文字列の連結にも応用可能だ。

const addstr = (init, ...args) => {
  return args.reduce((x, y) => x + y, init);
};
console.log(addstr('add:', 'foo', 'bar', 'baz',));
// => 'add:foobarbaz'