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.

CategoryArrays
ES versionES5 (2009)

📝 Syntax

const result = array.reduce((acc, cur, idx, arr) => nextAcc, initialValue);

⚙️ Parameters

callbackAccumulator function; its return feeds the next round.
initialValueOptional. 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 ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
Array.reduce() v1 v12 v1.5 v3 v10.5
Supported by all modern browsers
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.
Web-Tutorial.com

Web-Tutorial Tech Team

A team of developers maintaining programming tutorials. Each tutorial is written and reviewed by developers with expertise in that field. We work to keep our content accurate and reliable — if you spot an issue, please let us know.

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏