javascriptの配列には、要素を順番に見ながら一律に同じ処理を繰り返すreduceというメソッドが実装されている。
(参考: Array.prototype.reduce() - JavaScript | MDN)
var a = [1, 2, 3, 4, 5]; var sum = a.reduce(function(x, y) {return x + y;}); console.log(sum); // => 15
作成した配列aに対してreduceを使用し、含まれる要素を左から順番に取り出しながら操作を繰り返している。
この例では取り出した値を順番に足し合わせることで、最終的にすべての要素の合計が返却されていることがわかる。
参考リンクで実装されているように、2次元配列にreduceを使用し1次元配列に変換する事もできる。
とはいえ、今のところ配列に含まれる全ての値を使用して計算する程度しか使用用途が思いつかない。
プログラマ脳を鍛える数学パズル シンプルで高速なコードが書けるようになる70問
posted with amazlet at 17.03.15