Reputation: 11
I'm trying to load a prompt that asks how many numbers the user wants to enter, then a prompt will popup the amount of times they entered, and they will be able to enter a number each time that goes into an array and then one last alert box showing the sum.
How can I build this array and then get the total sum?
To get the first numberOfNumbers I used this:
function hello()
{
var numberOfNumbers=prompt("How many numbers would you like to add?")
alert(y)
}
var sum = [];
for (var i = 1; i <= numberOfNumbers; i++) {
sum.push(i);
}
Upvotes: 0
Views: 618
Reputation: 8079
Is this what you want to do?
function hello() {
var numberOfNumbers = prompt("How many numbers would you like to add?");
return parseint(numberOfNumbers, 10);
}
function sumNumbers() {
var numbers = [];
var number = 0;
var numberOfNumbers = hello();
for (var i = 1; i <= numberOfNumbers; i++) {
number = parseInt(prompt("Enter a number to add"), 10);
numbers.push(number);
}
alert(numbers.reduce(function(a, b) { return a + b; })) ;
}
Upvotes: -1
Reputation: 3034
var numberOfNumbers = parseInt(prompt("How many numbers would you like to add?"));
alert(numberOfNumbers);
var sum = 0;
for (var i = 1; i <= numberOfNumbers; i++) {
sum += parseInt(prompt("Enter a number"));
}
alert("The sum of numbers you entered is " + sum);
Upvotes: 0
Reputation: 18584
Why would you build the array?
var numberOfNumbers = parseInt(prompt("How many numbers would you like to add?"));
if(isNaN(numberOfNumbers) || numberOfNumbers <= 0) {
alert("Invalid number!");
}
else {
var sum = 0, i;
for (i = 1; i <= numberOfNumbers; i++) {
sum += i;
}
alert(sum);
}
Also, as @JohnRummuel pointed out, in your code numberOfNumbers
doesn't exist out of scope of the function block, so the for
loop does not "see" it.
Upvotes: 1