GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • JS Tutorial
  • Web Tutorial
  • A to Z Guide
  • Projects
  • OOP
  • DOM
  • Set
  • Map
  • Math
  • Number
  • Boolean
  • Exercise
  • Introduction3 min read
  • Variables5 min read

This view

  • Original page
  • New address

GeezerVison is showing www.geeksforgeeks.org — JavaScript Array reduce() Method - GeeksforGeeks

geeksforgeeks
search icon
  • Courses
  • Tutorials
  • Interview Prep
  • JS Tutorial
  • Web Tutorial
  • A to Z Guide
  • Projects
  • OOP
  • DOM
  • Set
  • Map
  • Math
  • Number
  • Boolean
  • Exercise

JavaScript Array reduce() Method

Last Updated : 11 Jul, 2025

The JavaScript Array.reduce() method iterates over an array, applying a reducer function to each element, accumulating a single output value. It takes an initial value and processes elements from left to right, reducing the array to a single result. It is useful for doing operations like max in an array, min in an array and sum of array

Example to do sum of an array using reduce

JavaScript
const a = [2, 4, 6];

// Use reduce to calculate the sum
const sum = a.reduce((acc, x) => acc + x, 0);

console.log(sum); 

Output
12

We use a lambda expression to provide a function to reduce. We can provide our own function. Below is an example to do sum with out own function.

JavaScript
const a = [2, 4, 6];

function sum2(acc, x) {
  return acc + x;
}

const sum = a.reduce(sum2, 0);

console.log(sum);

Output
12

Syntax of reduce():

array.reduce( function(total, currentValue, currentIndex, arr), initialValue )

Return value:

The JavaScript array reduce method returns a single value/element after traversing the complete array.

Parameters:

This method accepts five parameters as mentioned above and described below:

  • function(total, currentValue, index, arr): It is the required parameter and is used to run for each element of the array. It contains four parameters which are listed below:
  • initialValue: It is an optional parameter and is used to specify the value to be passed to the function as the initial value.
Parameter NameDescriptionRequired/Optional
totalSpecifies the initial value or previously returned value of the functionRequired
currentValueSpecifies the value of the current elementRequired
currentIndexSpecifies the array index of the current elementOptional
arrSpecifies the array object the current element belongs toOptional

Sum of lengths of all Strings using reduce()

JavaScript
const a = ["js", "html", "css"];

// Use reduce to calculate the sum of the lengths of the strings
const res = a.reduce((acc, str) => acc + str.length, 0);

console.log(res);

Output
9

We have a complete list of JavaScript Array methods, to check those please go through this Javascript Array Complete reference article.

Comment

Explore

    JavaScript Basics
    • Introduction3 min read
    • Variables5 min read
    • Operators4 min read
    • Control Statements4 min read
    Array & String
    • Arrays6 min read
    • Array Methods4 min read
    • String5 min read
    • String Methods8 min read
    Function & Object
    • Functions4 min read
    • Function Expression3 min read
    • Function Overloading4 min read
    • Objects4 min read
    • Constructors4 min read
    OOP
    • OOP5 min read
    • Classes & Objects4 min read
    • Access Modifiers5 min read
    • Constructor4 min read
    Asynchronous JavaScript
    • Asynchronous2 min read
    • Callbacks4 min read
    • Promises4 min read
    • Event Loop3 min read
    • Async Await Fuction3 min read
    Exception Handling
    • Error and Exceptional Handling5 min read
    • Errors Throw & Try to Catch2 min read
    • Custom Errors2 min read
    • TypeError Invalid Array.prototype.sort argument1 min read
    DOM
    • DOM8 min read
    • DOM Elements3 min read
    • Custom Events4 min read
    • Addeventlistener5 min read
    Advanced Topics
    • Closure3 min read
    • Hoisting5 min read
    • Scope4 min read
    • Higher Order Functions7 min read
    • Debugging3 min read
    Courses
    • Placement 360 Course2 min read
    • MERN Full Stack Course2 min read
    • DSA and System Design Course2 min read
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.