Hey guys i have this weird issue with a javascript array that i want to calculate the sum and average of it.
So i have a prompt with an input and i'm asking the users to enter some numbers.
var sums = false;
var numbersArray = [];
function calculateAverage() {
while (sums == false) {
var numbers = prompt("Enter Integers.", "");
if (numbers != null) {
console.log(numbers);
numbersArray.push(numbers);
} else {
var sum = 0;
console.log(numbersArray);
for (var i = 0; i < numbersArray.length; i++) {
sum += numbersArray[i];
}
var avg = sum / numbersArray.length;
console.log(avg);
sums = true;
}
}
}
calculateAverage();
So from console logs i get the following prints
4
5
1
["4", "5", "1"]
150.33333333333334
How can this be possible?
Ok my bad! Gonna accept the first answer though cause you are all correct !
["4", "5", "1"]- this an array of strings not numbers.avg = ["4", "5", "1"].reduce((p,c,_,a) => p + c/a.length,0);