javascript - Javascript sum 动态 django rest 框架条目
问题描述
我正在开发一个应用程序,该应用程序允许用户根据他们的条目计算有关交易的信息。在页面已经检索到任何现有条目后,我一直无法根据添加的条目来正确计算交易金额。
<td scope="col">${sumTotal('amount')}</td>
<script>
...
mounted() {
this.trade_id = window.location.pathname.split("/")[3];
// Get entries of trade
axios
.get('/trade/' + window.location.pathname.split("/")[3] + '/entries/')
.then(response => (this.entries = response.data));
},
...
methods: {
sumTotal(base) {
return Math.round(this.entries.reduce((sum, cur) => sum + cur[base], 0));
}
</script>
当页面第一次加载并提取现有条目时,第一个计算(第一列)是正确的 16。但是,当我添加一个新条目时,自动计算的值不再正确。
第一列应该是 26 但现在是 1610
我可以根据需要添加更多信息。我不确定需要多少,我不想把问题弄得乱七八糟。
解决方案
这发生在JS方面,
这是因为您将数值与字符串值相加,结果将是两个值在新字符串中的连接。
如果你注意到
以前的总和是16
,新值是10
它们的串联将是1610
解决方案就像将新值从字符串转换为数值一样简单
您应该将里面的行更改sumTotal
为:
return Math.round(this.entries.reduce((sum, cur) => sum + parseInt(cur[base]), 0));
推荐阅读
- node.js - 我正在尝试在 Express 中路由 pug 文件。不是从视图文件夹中呈现的页面
- kubernetes - 带有 GPU 的 GCP kubernetes 节点过早被抢占
- python - 没有内存重新分配的 Scipy 稀疏矩阵分解
- angular - 同时包装 localstorage 和 appSettings nativescript/angular
- vb.net - 文件另存为或从 xls 复制到 xlsx
- excel - 隐藏/取消隐藏行时运行时错误“13”类型不匹配
- c++ - 使用 Visual 2019/CMake/Ninja 的文件之间的依赖问题
- reverse-proxy - Mitmproxy 反向代理listen_port 未占用
- zeromq - 如何使用 ZeroMQ 制作“共享可变变量”?
- c - 用于简单排序算法的特定 for 循环