VueJS汇总数据行中的所有数字值

时间:2019-03-04 09:21:41

标签: vue.js vue-component

在我的数据数组中,每个人的行都有几个这样的数字值:

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

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

1 个答案:

答案 0 :(得分:0)

您正在寻找(在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