let details = that.editFields.psiPurchaseDetails.filter(s => s.productUuid === record.productUuid)我如何让重复的数据相加,例如s.num相加
时间: 2024-04-07 19:30:01 浏览: 17
你可以使用`reduce`方法来实现将重复的数据相加。以下是一个示例代码:
```javascript
let totalNum = that.editFields.psiPurchaseDetails
.filter(s => s.productUuid === record.productUuid)
.reduce((sum, s) => sum + s.num, 0);
```
在上述示例中,`reduce`方法接受一个回调函数和初始值参数。回调函数将接收前一个累加值和当前元素作为参数,并返回新的累加值。通过将初始值设置为0,我们可以确保在没有匹配的元素时返回0。
相关问题
let p1 = Promise.resolve() .
.then(() => {
console.log("Promise resolved");
})
.catch((error) => {
console.log("Promise rejected: " + error);
});
p1.then(() => {
console.log("Promise chain continued");
});
console.log("End of script");
```
这段代码中的执行顺序是什么样的?
优化这段代码 let s = 0 shopList.forEach(item => { s += item.price })
可以将代码优化为:
let s = shopList.reduce((acc, item) => acc + item.price, 0);
这样可以避免使用 forEach 循环,提高代码的效率。