user2808701
user2808701

Reputation: 5

How do I add values of a prompt together?

I'm supposed to prompt the user to enter a string of numbers separated by spaces and alert the sum of those numbers. I'm trying to get the values into an array and then add them up, but it's not working. I've tried a ton of different ways. Help please!

    var input = prompt("Enter a string of numbers separated by spaces");
    var numbers = new Array (input.split(" "));
    var sum = 0;

    for(var i = 0; i < numbers.length; i++){
         sum += numbers[i];
    };

    alert(sum);

JSFiddle: http://jsfiddle.net/mUqfX/2/

Upvotes: 0

Views: 2977

Answers (2)

user1864610
user1864610

Reputation:

You have 2 problems:

input.split(" ") returnss an array, so you don't need to place it in another array

Your numbers array contains strings, which you need to coerce to numbers to total them.

Try this:

var input = prompt("Enter a string of numbers separated by spaces");
var numbers = input.split(" ");
var sum = 0;

for(var i = 0; i < numbers.length; i++){

 sum += parseInt(numbers[i]);
};

alert(sum);

Upvotes: 1

Ash Burlaczenko
Ash Burlaczenko

Reputation: 25465

You're close, 2 issues with your code. First, .split returns an array so you don't need to wrap a new around it. Second, you need to parse the number otherwise your joining strings together. Try

var input = prompt("Enter a string of numbers separated by spaces");
var numbers = input.split(" ");
var sum = 0;

for(var i = 0; i < numbers.length; i++){
    sum += parseInt(numbers[i]);
};

alert(sum);

Upvotes: 4

Related Questions