
初期値付きの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'