[javascript ECMAScript5] Q. reduce()

A.
ECMAScript5では、ビルトインArrayオブジェクトにメソッドが追加されました。
forEach(), map(), filter(), every(), some(), reduce(), reduceRight(), indexOf(), lastIndexOf()
が新たに追加されています。
reduceは配列の各要素にcallback関数を呼び出します。
第一引数にcallback関数、第二引数に初期値を渡すと
callback関数の第一引数に最初は初期値が2回目からreturnで返された値が
callback関数の第一引数に返されます。
var a = [1,5,10];
function test(previousValue, currentValue, index, array) {
  console.log("-----");
  console.log("index: " + index);
  console.log("previousValue: " + previousValue);
  console.log("currentValue: " + currentValue);
  return previousValue + currentValue;
}

b = a.reduce(test, 0);
console.log(b);
js_Array_reduce.png

参考サイト:
MDN Array reduce