计算总数 let numberSum = 0.0; formData.value.forEach((item, index) => { if (index !== 0) numberSum += parseFloat(item); })'专业等级': !isAutoCompute.value ? '' : numberSum,输出为什么数据是NAN
时间: 2023-06-08 09:05:56 浏览: 91
根据您提供的代码,您没有正确累加 `numberSum` 的值。在 `formData.value` 中遍历时,您只在循环的第一项以外的项中将 `item` 解析为浮点数并将其赋值给 `numberSum`。这意味着 `numberSum` 的值在循环的每一次迭代中都被重置为当前项的解析值,在最后一次迭代时可能为空或非数字。
为了计算总数,您需要累加 `item` 的浮点值到 `numberSum`:
```
let numberSum = 0.0;
formData.value.forEach((item, index) => {
if (index !== 0) numberSum += parseFloat(item); // 累加项的浮点值
});
```
注意:如果您的代码仅迭代一个数值,可以省略循环并直接解析该数值。例如:
```
const numberSum = parseFloat(formData.value[1]);
```
希望这可以帮助您解决问题!
相关问题
save() { var formdata = new FormData() this.orderInfoList.forEach((item, index) => { Object.keys(item).forEach((key) => { if (key === 'childrens' && item[key] && item[key].length > 0) { formdata.append('list[' + index + '].file', item[key][0].file.raw) formdata.append('list[' + index + '].number', item[key][0].number) } else { formdata.append('list[' + index + '].' + key, item[key]) } }) }) createOrder(formdata).then(response => { if (response.data) { this.$modal.msgError("订单编号已存在, 请修改订单编号") this.errData = response.data } else { this.$modal.msgSuccess('订单发起成功') this.orderInfoList = [] this.currentPage = 1 this.pageList() this.errData = [] } }) },翻译这段代码
这段代码是一个Vue.js组件中的方法,用于保存订单信息。首先创建一个FormData对象,然后遍历订单列表中的每个订单对象,将其属性和值添加到FormData对象中。如果订单对象中包含名为"childrens"的属性且该属性存在且长度大于0,则将其文件和编号添加到FormData对象中。最后调用名为"createOrder"的函数传入FormData对象作为参数,并根据返回结果进行相应的操作。如果返回结果中包含"data"属性,则提示订单编号已存在并将错误数据赋值给"errData"变量,否则提示订单发起成功并清空订单列表、当前页数以及错误数据。
怎么用let formData = ref([])存的数据计算
您可以使用JavaScript中的reduce方法来计算let formData = ref([])存储的数据,示例代码如下:
let formData = ref([1, 2, 3, 4, 5]); // 假设存储了 [1, 2, 3, 4, 5] 的数据
let sum = formData.value.reduce((accumulator, currentValue) => {
return accumulator + currentValue;
}, 0);
console.log(sum); // 输出 15
在这个例子中,我们定义了一个formData变量,并将其初始化为一个包含数字1到5的数组。接下来,我们使用JavaScript中的reduce方法,将数组中的所有数字相加,将结果存储在sum变量中。最后,我们打印sum变量的值,即15。
阅读全文