如何获取数组中数据数字的总和

how to get the sum of data numbers inside an array

我目前正在学习Vue,正在为gazoline公司创建个人账户。

我有一个API IMG in console log 在 data 数组里面还有一个 transfer 数组,你也可以在下图中看到。

这个数据是这样输出的:

我想得到每个tankfarme的收入金额。我该怎么做?

我以某种方式获得了费用金额,但它收到了全部金额,而不是在一个油库中。这是代码

const getSumExpense = computed(() => {
 let array = getTransfers.value.transfers.data;
 let sum = 0;
 array.forEach((element) => {
 let arrayIncome = element.transfer;

 arrayIncome.forEach((el) => {
  sum = sum + el.expense;
  });
 });

return sum;
});

请帮助我,如果你不明白我写的东西,也告诉我,我会努力写得更好

你可以Array.prototype.reduce()

代码:

const arrayIncome = [{expense: 20}, {expense: 30}, {expense: 40}]

const sum = arrayIncome.reduce((a, { expense: e }) => a + e, 0)

console.log(sum)

如果你想得到一些特定的 tankfarm 的总和,那么你必须先过滤数组然后在 reduce 的帮助下你可以对记录求和.

const data= [{tankfarm: 'cymma', transfer: [{expense: 10}, {expense: 20}]}]
const result = data.filter(element => element.tankfarm === 'cymma')[0].transfer.reduce((a, { expense: e }) => a + e, 0)

console.log("cymma expense", result)