我想从for循环
中找到一组数字的总和我目前有
var num = "";
for(var i = 1; i < 11; i +=1){
num = num + i;
}
console.log(num)
在JS控制台中给我12345678910
我想制作1+2+3+4+5+6+7+8+9+10=SUM
我尝试添加“+”字符串:
num = num + i + "+";
但它给了我1+2+3+4+5+6+7+8+9+10+
我的问题是如何在代码中添加“+”和“=”并得到总和。
答案 0 :(得分:1)
如果您希望+显示AND实际总和,请执行此操作
var realSum = 0;
var num = "1";
for(var i = 2; i < 11; i +=1){
realSum = realSum + i;
num = num + "+" + i;
}
num = num + "=" + realSum;
答案 1 :(得分:0)
试试这个:http://jsfiddle.net/kx9b7qu7/2
使用Eval
var num = [];
for(var i = 1; i < 11; i +=1){
num.push(i)
}
var equation = num.join('+');
var sum = eval(equation);
console.log('Method 1: ',equation + '=' + sum)
不使用Eval
var num = [];
var sum = 0;
for(var i = 1; i < 11; i +=1){
num.push(i)
sum += i
}
var equation = num.join('+');
console.log('Method 2: ',equation + '=' + sum)
答案 2 :(得分:0)
使用它创建一个util供以后使用;)还有其他方法可以使用功能方法(reduce,map)和尚未被广泛支持的东西(生成器,数组理解)。
以下是一些用于考虑和调整的示例函数:
{{1}}
答案 3 :(得分:-1)
在javascript +中也可以连接一个字符串,如果这看起来最好 - 它认为你把两个字符串放在一起,所以它连接起来。将num start设为0,应该修复它。
答案 4 :(得分:-1)
而不是var num=""
尝试使用var num=0
,因为这种方式将运算符+
用作字符串连接。 num=0
将完成这项工作。
答案 5 :(得分:-1)
var numbers = 0;
for (var i = 1; i < 11; i += 1){
numbers += i;
}
console.log(numbers);
试试这个:
var numbers = [];
for (var i = 1; i < 11; i += 1){
numbers.push(i);
}
var string = numbers.join("+");
string += "=" + eval(numbers.join("+"));
console.log(string);
答案 6 :(得分:-1)
如果你真的想要连接那么
num = num + "+" + i;