reduce计算表格某一列的累加和,number-precision

reduce 计算商品列表中某一列(单品售价)的累加和( 整单售价)

orderCommoditys 商品列表数组

let allList = (this.orderCommoditys || []).reduce(function (a, b) {
 return {             
// 数量
quantityAll: NP.plus(a.quantityAll, Number(b.quantity) || 0),
// 基准价  总基准价自营:商品明细的basePrice*quantity               
basePriceAll: NP.plus(a.basePriceAll, NP.times(Number(b.quantity) || 0 , Number(b.basePrice) || 0))
   }
}, {basePriceAll: 0, openPriceAll: 0, quantityAll: 0})å
this.quantityAll = allList.quantityAll;
this.basePriceAll = allList.basePriceAll;     

{basePriceAll: 0, openPriceAll: 0, quantityAll: 0}
NP传参数至少两个值, 如果数组中无返回值的时候会报错,所以给初始值默认传零

解决js 计算精度问题number-precision

  • 安装
npm install number-precision --save
  • 方法
import NP from 'number-precision&
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用 JavaScript 的 `reduce` 方法和 `Set` 对数据进行分组和去重。方法是先使用 `reduce` 方法将数据根据某一列进行分组,然后对每一组数据使用 `Set` 对象进行去重。 以下是一个示例代码,演示如何对表格数据按照 `age` 列进行分组,并对每一组数据的 `name` 列进行去重: ```html <template> <div> <el-table :data="groupedData"> <el-table-column prop="age" label="年龄"></el-table-column> <el-table-column prop="names" label="姓名"></el-table-column> </el-table> </div> </template> <script> export default { data() { return { tableData: [ { name: '张三', age: 18, gender: '男' }, { name: '李四', age: 20, gender: '女' }, { name: '王五', age: 22, gender: '男' }, { name: '赵六', age: 18, gender: '女' }, { name: '钱七', age: 22, gender: '男' } ] } }, computed: { groupedData() { const groups = this.tableData.reduce((groups, item) => { const age = item.age; if (!groups[age]) { groups[age] = []; } groups[age].push(item); return groups; }, {}); return Object.keys(groups).map(age => { const names = [...new Set(groups[age].map(item => item.name))]; return { age, names }; }); } } } </script> ``` 在上面的代码中,我们使用了 `reduce` 方法对表格数据进行分组,然后对每一组数据使用 `Set` 对象进行去重。最后,我们使用 `map` 方法将分组后的数据转换成 `el-table` 组件可以接受的格式。 需要注意的是,如果您的数据量较大,可能会导致性能问题。在这种情况下,您可以考虑在后端进行数据分组和去重,然后将结果传递给前端。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值