【问题标题】:VueJS sum up all number values in data rowVueJS总结数据行中的所有数值
【发布时间】:2019-07-25 13:54:52
【问题描述】:

在我的数据数组中,每个人的行都填充了几个数值,如下所示:

  {
    name: 'John doe',
    monday: 29837,
    tuesday: 30753,
    wednesday: 28079,
    thursday: 27144,
    friday: 27016,
  },

我需要计算每周的总价值。我设法做到这一点的唯一方法是显示 em 如下: {{ props.row.monday + props.row.tuesday }} 但我相信还有比这更好的方法。

【问题讨论】:

标签: vue.js vue-component


【解决方案1】:

你正在寻找这个(在 JS ES6 中):

Object.values(yourObject).filter(item => typeof item === 'number').reduce((a,b) => a+b)

解释:

  • Object.values() 选择对象的所有值
  • .filter() 过滤您的值,因此只保留数字
  • .reduce() 循环遍历数组并将所有成员加在一起

一篇关于 ES6 的好文章: https://medium.com/poka-techblog/simplify-your-javascript-use-map-reduce-and-filter-bd02c593cc2d

Object.values 解释:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_objects/Object/values

【讨论】:

  • 这解决了我的下一个问题(每个人的总数)。我也需要这个每个人。反正我可以过滤掉?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-07
  • 2021-07-13
  • 1970-01-01
相关资源
最近更新 更多