Calculating the sum of a var
我正在尝试计算我的"var时间"的总和,以便它可以在我的表上显示总和。有人能告诉我怎么做吗?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| <td>
<h3 id="Luke Hours">
var time = [2, 0.5, 1];
document.getElementById("Luke Hours").innerHTML = time;
<h4 id="Luke Time">
var text ="";
var i;
for (i = 0; i < time.length; i++) {
text += time[i] +"";
}
document.getElementById("Luke Time").innerHTML = text;
</h4>
</td> |
。
红色的数字是和,黑色的数字是每个单独的数字。我想让它看起来像这样。
- 您没有进行添加,因为您包含了一个字符串:"",您正在进行字符串连接
- @帕特里克万斯,我不认为这就是他的意思。如果你看他的代码片段,他会垂直对齐每个元素,就像他在设置一个基本的加法问题一样。所以,我认为他想在垂直的"数组"下面求和
- @你几乎是对的。我计划做的是把数字的总和显示在上面,同时每个数字都显示在下面。我希望这是有道理的
- 你的好。@timosta的解决方案对您有意义吗?我可以解释。
- @damaxContent它确实存在,但我唯一不理解的部分是(函数(前一个,当前)。我不知道过去和现在是什么意思或代表什么。
- 在这里。Mozilla解释了所有:developer.mozilla.org/en-us/docs/web/javascript/reference/&hellip;
- @非常感谢!
- @DamaxContent Timosta的代码工作得很好,但是也可以显示每个单独的数字吗?
- 那么在function(previous,current) {...}声明中呢?
- @我不太确定…我加了一张照片,你可以看看。基本上,红色的数字是我设法做到的和,但现在我希望每个单独的数字(黑色的)出现在和的旁边或下面。
- 所以像[2, 0.5, 1]一样,您想以垂直顺序显示[2, 2, 2.5, 0.5, 3.5, 1]还是[3.5,2, 0.5, 1]?
- @损伤含量[3.5,2,0.5,1]
- @damaxContent我想要这一行"document.getElementByID("luke hours").innerhtml=time;"显示3.5和这一行"document.getElementByID("luke time").innerhtml=text;"显示2,0.5,1我很抱歉有点混淆……
- 将var text ="";改为var text=time.reduce(function(previous, current) { return previous + current; });**所有非代码均加粗
- @非常感谢它的工作!:)
- 如果你想解决问题,别忘了投赞成票,没问题。
您可以使用reduce功能:
1
| var sum = time.reduce(function(previous, current) { return previous + current; }); |
这将导致数组中所有数值的总和。请注意,如果数组包含非数字值,这可能会导致意外的结果。
- 我建议创建一个array.prototype声明,因为op(richard siaw)似乎对数组没有广泛的了解。当然会更容易些
- 我会试试的。谢谢!