如何一起添加提示值?

时间:2013-10-16 22:50:54

标签: javascript arrays for-loop prompt

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

    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/

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:1)

你有两个问题:

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);