Array.reduce() - викликає задану функцію зворотного виклику для всіх елементів в масиві. Повертає значення функції зворотного виклику являє собою накопичений результат і надається як аргумент в наступному виконанні функції зворотного виклику.
arr.reduce(callbackfn[, initialValue]);
callbackfn - Функція, яка приймає до чотирьох аргументів. Метод reduce викликає функцію callbackfn по одному разу для кожного елемента масиву.
initialValue - не обов'язковий параметр. Якщо значення initialValue зазначено, воно використовується в якості початкового значення, з якого починається накопичення. При першому виклику функції callbackfn як аргумент замість значення з масиву надається це значення.
reduce() метод об'єкту Array який виконує функцію callbackfn один раз для кожного елемента в масиві(з ліва на право), за винятком порожнин, приймаючи чотири аргументи: початкове значення (або значення від попереднього виклику callbackfn), значення поточного елемента, поточний індекс і масив, за яким відбувається ітерація.
Щоб накопичувати результат в порядку спадання індексу(зправа на ліво), використовують reduceRight.
Синтаксис функції зворотнього виклику:
function callbackfn(previousValue, currentValue, currentIndex, array1)
function sum(a, b){
return a+b;
}
var mas=[3,66,4,9,5,34,12];
var s=mas.reduce(sum);
alert("загальна сума масиву: "+s);