需求:使用 JavaScript 的 reduce
方法来计算 this.formData.reiRouteEntities
数组中每个对象的 borrowAmt
属性的总和,并将结果赋值给 this.formData.borrowAmt
解答:
this.formData.borrowAmt = this.formData.reiRouteEntities.reduce((pre, cur) => {
return pre + Number(cur.borrowAmt);
}, 0);
让我们逐步解释这段代码:
-
this.formData.borrowAmt =
:这是赋值语句,将计算后的结果赋值给this.formData.borrowAmt
属性。 -
this.formData.reiRouteEntities
:这是一个数组,其中包含多个对象,每个对象都有一个borrowAmt
属性,表示借款金额。 -
.reduce((pre, cur) => { return pre + Number(cur.borrowAmt); }, 0)
:这是reduce
方法的调用,用于对数组进行迭代和累加操作。-
reduce
方法接收两个参数:一个回调函数和一个初始值。这里的回调函数使用箭头函数(pre, cur) => { return pre + Number(cur.borrowAmt); }
。 -
回调函数中的
pre
表示累加器,它保存了上一次迭代的累加结果。 -
回调函数中的
cur
表示当前迭代的元素,即this.formData.reiRouteEntities
数组中的每个对象。 -
回调函数中的
return pre + Number(cur.borrowAmt);
是每次迭代时的累加操作,将上一次的累加结果与当前对象的borrowAmt
属性相加。 -
0
是reduce
方法的初始值,作为第一次迭代时的累加器的初始值。 -
最终,
reduce
方法返回的值就是所有对象的borrowAmt
属性的总和。
-
-
最后,总和被赋值给
this.formData.borrowAmt
,即将计算结果存储在this.formData
对象的borrowAmt
属性中。
通过这段代码,你可以在表单数据中的 this.formData
对象中,计算 this.formData.reiRouteEntities
数组中每个对象的 borrowAmt
属性的总和,并将结果保存在 this.formData.borrowAmt
属性中。