Name

Array.reduce() — compute a value from the elements of an array

Availability

ECMAScript 5

Synopsis

array.reduce(f)
array.reduce(f, initial)

Arguments

f

A function that combines two values (such as two array elements) and returns a new “reduced” value.

initial

An optional initial value to seed the array reduction with. If this argument is specified, reduce() behaves as if it had been inserted at the start of array.

Returns

The reduced value of the array, which is the return value of the last invocation of f.

Description

The reduce() method expects a function f as its first argument. This function should behave like a binary operator: it takes two values, performs some operation on them and returns a result. If array has n elements, the reduce() method invokes f n-1 times to reduce those elements to a single combined value. (You may be familiar with this array reduction operation from other programming languages where it is sometimes called “fold” or “inject”.)

The first invocation of f is passed the first two elements of array. Each subsequent invocation of f is passed the return value of the previous invocation and the next element (in ascending order) of array. The return value of the final invocation of f becomes the return value of the reduce() method itself.

reduce() may be invoked with an optional second argument, initial. If initial is specified, then reduce() behaves as if that argument has been inserted at the beginning of array (it does not actually modify array, however). Another ...

Get JavaScript: The Definitive Guide, 6th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.