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