gpt4 book ai didi

node.js - 在node.js中添加值

转载 作者:太空宇宙 更新时间:2023-11-03 23:19:19 25 4
gpt4 key购买 nike

enter image description here

上面是下面代码片段的结果

 var total_points = 0
for(var i = 0; i < req.body.requisites.length; i++){

total_points = total_points + req.body.requisites[i].points
console.log(req.body.requisites[i].points , total_points)
}
console.log('total points :' + total_points)
req.body.points = total_points

我不明白为什么一次它连接结果(查看“总分”之前的最后一个值)而下一次它计算正确。

如果您能提供帮助,我们将不胜感激。

提前致谢!

最佳答案

根据我之前的评论,您的某些输入似乎必须是字符串而不是数字,并且由于 Javascript 的强制规则,在添加字符串和数字时您会得到字符串连接而不是数学加法。

您可以强制将所有输入强制输入数字,这样您总是会得到如下所示的加法:

var total_points = 0
for (var i = 0; i < req.body.requisites.length; i++) {
total_points = total_points + (+req.body.requisites[i].points);
console.log(req.body.requisites[i].points , total_points)
}
console.log('total points :' + total_points)
req.body.points = total_points

而且,使用 .reduce() 可能会更容易:

req.body.points = req.body.requisites.reduce((total, val) => total + (+val)), 0);

如果它是数字字符串,则(+req.body.requirements[i].points)(+val) 将其转换为数字。

关于node.js - 在node.js中添加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51583265/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com