The reason the average is always NaNbecause your middle array is always an empty array when you start. I think you referenced the array numbershere.
You will have to declare the array outside the scope of the two functions, since it is common to both.
Javascript HTML. JS .
. , , numbers.
HTML
<p>Array is called numbers. numbers.sort();</p>
<div id="stats">
<input type="text" id="value">
<button id="button1">Enter</button>
<ul id="list1">
</ul>
<button id="stat_button">Get Statistics</button>
<p id="mean">Mean= </p>
</div>
JS
document.getElementById('value').addEventListener('change', list);
document.getElementById('button1').addEventListener('click', list);
document.getElementById('stat_button').addEventListener('click', calculateMean);
var numbers = [];
function list() {
var liElement = document.createElement("li");
var ulElement = document.getElementById("list1");
var input = document.getElementById("value").value;
numbers.push(input);
for (var i = 0; i < numbers.length; i++) {
liElement.innerHTML = numbers[0];
ulElement.appendChild(liElement);
}
}
function calculateMean() {
var meanTotal = 0;
var meanAverage = 0;
for (var i = 0; i < numbers.length; i++) {
meanTotal += numbers[i];
}
meanAverage = (meanTotal / numbers.length);
document.getElementById("mean").innerHTML = meanAverage;
}
jsFiddle