我需要计算一个字符串中的数字。数字用空格分隔。 (1 2 3 4 10)我试图通过charAt这样做,如果数字不是一个数字就不起作用。我是JS的新手,需要一些例子。我从这开始,但遇到了两位数#:
int
任何帮助将不胜感激
答案 0 :(得分:1)
我不知道为什么你需要这样做,但如果这个字符串来自另一种字体,你可以处理它,如下所示:
var string1 = "(1 1 1 4 10)";
var aux = string1.replace("(","").replace(")","");
aux = aux.split(" ");
var total = parseFloat(0);
for(var j=0; j<aux.length; j++) {
total += parseFloat(aux[j]);
}
console.log(total);
答案 1 :(得分:1)
这是一种更简单的方法。首先,修复string1,使其实际上是一个字符串(通过添加&#34;&#34; s),也可以使用&#34; var string&#34;正确声明它。然后你可以做这样的事情。
var string1 = ("1 1 1 4 10")
function addString(input) {
var sum = 0; //get your empty variable ready
var array1 = input.split(" "); //split your string into an array
for(var i=0; i<array1.length; i++) {
array1[i] = parseInt(array1[i]); // each new array element is integer
sum += array1[i]; // += is operator for solve/refactor
}
return sum;
}
addString(string1);
答案 2 :(得分:0)
创建一个数组:
var arr=[1,2,3]
然后执行:
var count=0;
arr.forEach(function(number){
count+=number;
}
或使用字符串:
var str="1 2 3";
var arr=str.split(" ");
var count=0;
arr.forEach(function(number){
count+=parseInt(number);
}
现在计数包含所有字符的总和
答案 3 :(得分:0)
//使用方法split将字符串转换为数组,然后添加数组项:
var string1 = "1 1 1 4 10", total = 0;
string1.split(" ").forEach(function(item) {
total += +item;
});