0

我应该提示用户输入一串由空格分隔的数字并提醒这些数字的总和。我试图将这些值放入一个数组中,然后将它们相加,但它不起作用。我尝试了很多不同的方法。请帮忙!

    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/

4

2 回答 2

4

你很接近,你的代码有2个问题。首先,.split返回一个数组,这样您就不需要将它包裹new起来。其次,您需要解析数字,否则将您的连接字符串连接在一起。尝试

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);
于 2013-10-16T22:56:53.177 回答
1

你有2个问题:

input.split(" ")返回一个数组,所以你不需要把它放在另一个数组中

您的numbers数组包含字符串,您需要将其强制转换为数字以对它们进行总计。

尝试这个:

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);
于 2013-10-16T22:58:06.423 回答