javascript:
function array_reduce( a_input, callback ) {
// Итеративно уменьшает массив к единственному значению, используя callback-функцию
//
// + original by: Alfonso Jiménez (http://www.alfonsojimenez.com)
var lon = a_input.length;
var res = 0;
var tmp = new Array();
for(i = 0; i < lon; i += 2) {
tmp[0] = a_input[i];
if(a_input[i+1]){
tmp[1] = a_input[i+1];
} else {
tmp[1] = 0;
}
res += callback.apply(null, tmp);
tmp = new Array();
}
return res;
}
//Примеры:
array_reduce([1, 2, 3, 4, 5], function(v, w){v += w; return v;});
// 15