はじめに とある本の検証のために、JavaScript(正確にはECMAScript-262 5.1)の仕様書を読んだりしていた。というのも、JavaScriptの場合、大抵のメソッドについては、どのように実装されるべきか、というアルゴリズムが定義されており、これを見ればどういう挙動になっているのかがわかるからです。詳細については、Array.prototype.reduce() - JavaScript | MDNという信頼できるドキュメントがあるので、そちらに譲るとして、そもそもreduceとは何なのかについて、せっかくなので、調べたことをメモしておきます。 reduceとは 一般的に、reduceというのを一言で説明する言葉として「折りたたみ操作」という言葉が使われることが多いです。どういうことかというと、実例として、某書に頻出する表現を使いますと: [1, 2, 3, 4].red
![JavaScriptのreduce実装について調べたことをメモしておく - Line 1: Error: Invalid Blog('by Esehara' )](https://cdn-ak-scissors.b.st-hatena.com/image/square/2793895b9dff004ce43521e023a62fe9115253b8/height=288;version=1;width=512/http%3A%2F%2Fecx.images-amazon.com%2Fimages%2FI%2F51HwlChcDXL.jpg)