Array.reduce() Reduce to one value
Last updated: 2026-09-09
Array.reduce() Reduce to one value
reduce folds the array into a single value by accumulating callback results — sums, counts, groupings and flattening.
| Category | Arrays |
|---|---|
| ES version | ES5 (2009) |
📝 Syntax
const result = array.reduce((acc, cur, idx, arr) => nextAcc, initialValue);
⚙️ Parameters
| callback | Accumulator function; its return feeds the next round. |
|---|---|
| initialValue | Optional. Starting value; omitted means the first element is used. An empty array without it throws TypeError. |
Returns:The final accumulated value.
Mutates the original:No (returns a new value)
▶ Example
Edit the code, press Run, and see the result in the output panel:
Output:
10
2
{ apple: 2, banana: 1 }
⚠️ Warning reduce on an empty array without an initial value throws TypeError — always pass one.
💡 Tip reduce can emulate map/filter but is harder to read — use map/filter for simple transforms.
🌐 Browser support
| Browser | |||||
|---|---|---|---|---|---|
| Array.reduce() | ✓ v1 | ✓ v12 | ✓ v1.5 | ✓ v3 | ✓ v10.5 |
| Supported by all modern browsers | |||||
🏷️ Related Array Methods
💡 Related Cases
More case studies coming soon — check back later.
📚 Related Tutorials
❓ FAQ
QWhen is initialValue required?
AAlways pass it for possibly-empty arrays and for clearer types.
QCan reduce replace map and filter?
ATechnically yes but it hurts readability — reserve reduce for folds into different shapes.
QIs the callback return value important?
ACrucial — the return is the next accumulator. A braced arrow without return yields undefined.