# Learn Advanced Array Methods by Building a Statistics Calculator - Step 24

### Tell us what’s happening:

I have tried every logic I can find but none is passing, I keep getting “You should have a variable named evenListMedian”.

``````<!-- file: index.html -->
<!DOCTYPE html>
<html lang="en">
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<script src="./script.js"></script>
<title>Statistics Calculator</title>
<body>
<h1>Statistics Calculator</h1>
<p>Enter a list of comma-separated numbers.</p>
<form onsubmit="calculate(); return false;">
<label for="numbers">Numbers:</label>
<input type="text" name="numbers" id="numbers" />
<button type="submit">Calculate</button>
</form>
<div class="results">
<p>
The <dfn>mean</dfn> of a list of numbers is the average, calculated by
taking the sum of all numbers and dividing that by the count of numbers.
</p>
<p class="bold">Mean: <span id="mean"></span></p>
<p>
The <dfn>median</dfn> of a list of numbers is the number that appears in
the middle of the list, when sorted from least to greatest.
</p>
<p class="bold">Median: <span id="median"></span></p>
<p>
The <dfn>mode</dfn> of a list of numbers is the number that appears most
often in the list.
</p>
<p class="bold">Mode: <span id="mode"></span></p>
<p>
The <dfn>range</dfn> of a list of numbers is the difference between the
largest and smallest numbers in the list.
</p>
<p class="bold">Range: <span id="range"></span></p>
<p>
The <dfn>variance</dfn> of a list of numbers measures how far the values
are from the mean, on average.
</p>
<p class="bold">Variance: <span id="variance"></span></p>
<p>
The <dfn>standard deviation</dfn> of a list of numbers is the square
root of the variance.
</p>
<p class="bold">
Standard Deviation: <span id="standardDeviation"></span>
</p>
</div>
</body>
</html>
``````
``````/* file: script.js */
const getMean = (array) => array.reduce((acc, el) => acc + el, 0) / array.length;

// User Editable Region

const testArr1 = [1, 2, 3, 4, 5];
const testArr2 = [1, 2, 3, 4, 5, 6];
const isEven = testArr2.length % 2 === 0;
console.log(isEven);
const oddListMedian = testArr1[Math.floor(testArr1.length / 2)];
console.log(oddListMedian);

const evenListMedian = getMean(testArr2[Math.floor(testArr2.length / 2)], testArr2[Math.floor((testArr2.length / 2) - 1)]);
console.log(evenListMedian);

// User Editable Region

const getMedian = (array) => {
const sorted = array.sort((a, b) => a - b);
}

const calculate = () => {
const value = document.querySelector("#numbers").value;
const array = value.split(/,\s*/g);
const numbers = array.map(el => Number(el)).filter(el => !isNaN(el));

const mean = getMean(numbers);

document.querySelector("#mean").textContent = mean;
}
``````
``````/* file: styles.css */
body {
margin: 0;
background-color: rgb(27, 27, 50);
text-align: center;
color: #fff;
}

button {
cursor: pointer;
background-color: rgb(59, 59, 79);
border: 3px solid white;
color: white;
}

input {
background-color: rgb(10, 10, 35);
color: white;
border: 1px solid rgb(59, 59, 79);
}

.bold {
font-weight: bold;
}
``````

User Agent is: `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36`

### Challenge Information:

Learn Advanced Array Methods by Building a Statistics Calculator - Step 24

You need to add an array within `getMean()` function, then do the calculation for finding average of the array within that array.

Example

``````function([arr2[array length divided by 2], arr2[array length divided by 2 minus 1]]);
``````

Round down it using `Math.floor()`

Thank you Mr HasanZaib,
I’ve tried the logic but it’s still not working.
Here is the code:
const evenListMedian = Math.floor(getMean(([testArr2[testArr2.length / 2], testArr2[testArr2.length / 2 - 1]])));
console.log(evenListMedian);

You did it incorrect. You addded your whole function within `Math.floor()` . You need to use `Math.floor()` function on the index of the array.

Example

``````function([array[Math.floor(array length divided by 2)], array[Math.floor(array length divided by 2) minus 1]);

``````

I have tried the new logic, i still get the same result, I still get the message “You need a variable named evenListMedian”
const evenListMedian = getMean([testArr2[Math.floor(testArr2.length / 2)], testArr2[Math.floor(testArr2.length / 2) - 1]);

You have missing the last bracket `]` . You need pair of brackets for the array.
Edit: you have 5 brackets, instead you need 6 bracket. Total 3 pair of brackets, within getMean function

Remember, when you post your code here. Add three back ticks `(```)` in a separate line below and above your code. For better readability.

1 Like

I corrected the mistake but I still get the same output.
`const evenListMedian = getMean([testArr2[Math.floor(testArr2.length / 2)], testArr2[Math.floor(testArr2.length / 2) - 1]]);`

your code is correct but maybe you forgot to add the console.log after?

Now you need to log the variable `evenListMedian` to the console, as said @hbar1st