# Split Up Evenly explainer

#1

The aim of this puzzle: Complete the `average()` function definition so that it returns the average value of the `array`

Walkthrough of the solution: The average (also called the “arithmetic mean”) of a set of numbers is calculated by adding all the numbers up and the dividing the total by the number of values used.

The function definition starts by creating a variable called `total`. Since nothing has been added up yet, it starts at 0. Next, there’s a `for...of` loop that goes through each `element` of the `array`. Inside that loop, the `element` should be added to the `total` using the `+=` operator. Once the loop is done, the `total` will be the sum of all the numbers in the `array`. To `return` the average, the `total` should be divided by the number of values. The number of values is the `.length` of the `array`, so the `return` value should be `total / array.length`.

Sample code solution:
(Tap below to reveal)

``````import { getData, findHotels } from 'grasshopper.reviews';
import { getRatings } from 'myFunctions';

function average(array) {
let total = 0;
for (let element of array) {
total += element;
}
JavaScript Concepts: Arithmetic Operator (/), Assignment Operator (+=), Callback Functions, Calling Functions, Code Block (for loop, function), `console.log()`, `import`, `.length`