How To Calculate the Sum And Average Of Elements in an Array In JavaScript – Definitive Guide

There are three methods to calculate the sum an average of elements in an array in JavaScript.

Quick Answer: const sum = myArray.reduce((a, b) => a + b, 0); const average = (sum / myArray.length) || 0;

Basic Example

var myArray = [ 0, 1, 2, 3, 4, 5, ];

const sum = myArray.reduce((a, b) => a + b, 0);

const average = (sum / myArray.length) || 0;

console.log(`The sum is: ${sum}. The average is: ${average}.`); //"The sum is: 15. The average is 2.5."

This tutorial teaches you how to calculate the sum and average of elements in an array in JavaScript.

Using Reduce [ES6]

The reduce() method executes a user-defined reducer callback function on each element of the array.

To sum the array of numbers using the reduce() method:

  • Pass the a+b as the user-defined function
  • Pass 0 as the initial value to the accumulator

The array must not have undefined items while using the reduce() method.

To calculate the average of the numbers,

  • Calculate the sum and divide it by the length of the array

Use the reduce method when the array contains only numbers, and you do not want to make any explicit checks on each array item.

Code

var myArray = [ 0, 1, 2, 3, 4, 5, ];

const sum = myArray.reduce((a, b) => a + b, 0);

const average = (sum / myArray.length) || 0;

console.log(`The sum is: ${sum}. The average is: ${average}.`); //"The sum is: 15. The average is: 2.5."

Using For Loop

The for loop is used to perform an iteration for n number of times.

To calculate the sum of numbers,

  • Iterate with the for loop for the array length times
  • During each iteration, add the element to the sum

To calculate the average of the numbers,

  • Divide the sum by the length of the array.

Use this method when your array contains undefined or falsy values. Before adding it to the sum, you can check if the current element is a number. Reduce() method will not work with the undefined values.

Code

var myArray = [0, 1, 2, 3, 4, 5, ];

var sum = 0;

for (var i = 0; i < myArray.length; i++) {
  sum += myArray[i];
}

var average = sum / myArray.length;

console.log(`The sum is: ${sum}. The average is: ${average}.`); //"The sum is: 15. The average is: 2.5."

Using Lodash

The lodash library provides many useful methods to perform various operations with a modular approach and better performance practices.

It provides two methods to calculate sum and mean.

  • The sum() method to sum the array of elements
  • The mean() method to calculate the average of the elements in the array.

You can include the lodash library using the following script.

<script src="lodash.js"></script>

Once you include the script, you can include the lodash methods using the _. prefix.

Code

The following code demonstrates how to use the sum() and the mean() methods to calculate the sum and average of numbers in an array.

var myArray = [0, 1, 2, 3, 4, 5, ];

var sum = _.sum(myArray);

var average = _.mean(myArray);

console.log(`The sum is: ${sum}. The average is: ${average}.`); //"The sum is: 15. The average is: 2.5."

Additional Resources

Leave a Comment