Now that we know how to do this without code let us go back and use JavaScript to implement a function that does the above. The center of the data is where most of the values in the data are located. Averages are measures of the location of the center. Start by using the approach you understand best. // We use compose() to piece our function together using the small helpers. // Extract the popularity scores so we just have an array of numbers.

average javascript

I understand what it’s doing, but still have some questions. Divide the total number of numbers in the array by the total number of numbers in the array. Your data might be transferred to servers located in the USA. By subscribing, you agree to the data transfer. You can revoke your approval at any time by unsubscribing. For more information, please visit the privacy policy.

Code – Getting average of an array using JavaScript

Python is a beginner-friendly and versatile… To recap, the average is used in statistics to describe the centrality of a dataset. In JavaScript, there is a built-in function called reduce(). Divide the sum of numbers by the number of numbers in the array. Initialize the sum variable to accumulate the numbers. We will display the calculated result in JavaScript alert() box.

We have calculated the sum of all array elements using our while loop logic and stored the result in the sum variable. Array iteration methods are like a ‘gateway drug’.1 They get many people hooked average javascript on functional programming. And most of these array methods are fairly simple to understand. Methods like .map() and .filter() take just one callback argument, and do fairly simple things.

The moving average is a method to analyze data by creating a series of averages of it. It is also worth noting that the forEach() function does not return a value. This makes it unsuitable in cases where a return value is necessary. Consider other functions such as map() or reduce() functions in such cases.


Calla reducer on the first two elements of the array to get a partial result. As shown below, you can get the same functionality by passing N numbers of values as a parameter to return an average. There is not any built-in method to get an average in JavaScript. We usually do different tricks and ways to achieve that functionality to count the average of defined values.

average javascript

For the first day where you could calculate the EMA, you don’t have one for the previous day. This is why you calculate the SMA for the first day, and for the next, you calculate the EMA using the SMA of the previous day as EMAy. When you’re done, the SMAs can be interpreted.

Easy mode: Filter, map, and sum

What we need is a function that takes an array of prices, and the window/period the moving average shall be calculated for. In the end, it should return an array containing the SMAs. Rather than sticking with the existing object variable, we can rename them to our own preference. We will then use a loop to iterate over each array element and add its value to the sum variable.

  • It iterates through the array and calls the given function for each element.
  • For more information, please visit the privacy policy.
  • On iterating each element, we will convert it to a value and add it to a sum.
  • Hi all, I have some questions about how this bit of JavaScript is working.
  • We just used the average(…nums) method to receive the N number of values.

But, on the first time around the loop, we haven’t called return yet to update runningTotal. So, when we call .reduce(), we give it an initial value to set runningTotal at the start. This is the second parameter we pass to .reduce(). You’re getting element 9 and then you’re done as you have it now. Use a variable to store your sum , and divide by your array length. The function will calculate an average of given array values using loop statements and finally returns the result.

Easy mode II: Multiple accumulator values

An array’s length, once created, would remain constant/fixed. Today you learned how to calculate the average of an array in JavaScript. It’s best to not use let though, as reassignment tends to lead to problems. Fortunately we have array methods such as map, filter, and reduce, to help with such tasks. As its name already suggests, the simple moving average is a simple form of a moving average. To be precise, it is the simplest form of an MA that you can calculate.

While itemsFound keeps track of the number of items we’ve found. The downside is that you assuming that there won’t be an overflow by summing all the numbers. If you have a lot of numbers that are very big, and you add them all up, they may exceed the maximum size that can fit into the data type. There is a downside to this approach that a slightly modified, yet still simple algorithm will address without the downsides. You can “update” an existing average if additional values become available.

In this article, we would like to show you how to calculate the average value with reduce() method in JavaScript. By now, you have already figured out how we can use the reduce() function to get the average of the values in an array. Finally, the function will return the sum divided by the array’s length. The first method we can use is defining a custom average function. This is easy if we break down the logic of the mathematical average in simple steps.

Single pass with cumulative average calculation

Once iteration, JavaScript will add the array value to the available sum. Note that this doesn’t necessarily make the calculation more efficient. We multiply and divide each found item to keep the running total, instead of doing a single divide at the end. Since there are no intermediate arrays, we only ever store an object with two values.

Once we get the sum of all numbers, we will divide it by the total numbers. On iterating each element, we will convert it to a value and add it to a sum. Here, John appears two times, and the other values only once. Here, 21 appears two times, and the other values only once. An average is a measure of where most of the values in the data are located. If you found any of this helpful , I’d love to know.

Average or Arithmetic mean of an array using Javascript

We have used the for loop logic to count an average here. Arrow functions can be written in multiple ways. Below are couple of ways to use arrow function but it can be written in many other ways as well. No, I mean, that “magic” that reduce uses the first element of an array if there is no start value given.

When it comes to using const, I find it effective to replace all var with const, and take care of any issues from there. I’ll also use const with average, as currently that is being defined as a global variable which is best to be avoided. To make a new array, call the same function on the incomplete result and the third element of the array. To get a partial result, use a reducer on the first two components of the array.

Further Reading

As you’ve already noticed, it’s usually best to remain consistent with the use of const and var. Write a JavaScript program to compute the average of an array, after mapping each element to a value using the provided function. Firstly, we must calculate the sum of all given values we are looking for to find an average. We iterate the code statement to traverse an array to all indexes to perform that small task. You learned how to use JavaScript to calculate the average of an array. To summarise, in statistics, the average is used to describe the centrality of a dataset.

In this approach, We reduce i.e replace two numbers of the array with their sum in the original array. This works by maintaining the current average and element count. And of course in server side JS, e.g. node.js, then naturally eval() might introduce security issues.