我有一些简单的代码,应该添加两个数字,它似乎继续添加它们,即如果我有一个初始化为0的变量,我添加100一次,然后我添加200,它似乎添加为跟随0 + 100 + 100 + 200,返回400不是300.如何才能正确添加?
function calcScores(amount) {
amount = parseInt(amount,10);
for(var key in teamSelection) {
if (teamSelection[key]['Selected']) {
score = parseInt(teamSelection[key]['Score'],10);
var total = +score + +amount;
teamSelection[key]['Score'] = total;
}
}
}
答案 0 :(得分:0)
var total = +score + +amount;
这条线让我感到困惑。如果您想将分数和金额添加到总数中,请使用
var total += score + amount;
答案 1 :(得分:0)
您应该尝试以较小的比例重现问题,而不考虑其他因素。大多数情况下,通过将有问题的片段减少到一些微不足道的事情,问题就变得很明显了。
您还应该在问题中包括实际输出与预期输出。
就像现在一样,我所能做的就是在你的代码中指出两个可疑部分:
parseInt
可以返回NaN
或undefined
。你不会处理这些案件。
total = +score + +amount
有一些额外的添加符号,不应该有任何区别,但是嘿,这是javascript。也许是total += score + amount
。
如果您需要更多帮助,则必须将问题缩小到特定的范围:_此代码生成此输出而不是其他输出"。