Sam sapiol
Sam sapiol

Reputation: 21

how to get the sum of data numbers inside an array

I am currently studying Vue and creating a personal account for the gazoline company.

I have an API IMG in console log inside the data array there is also a transfer array, also u can see in below picture.

enter image description here

This data is output like this :

enter image description here

I want to get the amount of income in each tankfarme. How can I do it ?

somehow I was able to get the amount of the expense, but it receives the entire amount, and not in one tankfarm. Here is code

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;
});

please help me, if you do not understand what I wrote, also tell me, I will try to write better

Upvotes: 1

Views: 134

Answers (2)

Qubaish Bhatti
Qubaish Bhatti

Reputation: 728

If you want to get the sum of some specific tankfarm then you have to filter the array first and then with the help of reduce you can sum the records.

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)

Upvotes: 0

Yosvel Quintero
Yosvel Quintero

Reputation: 19070

You can Array.prototype.reduce()

Code:

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

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

console.log(sum)

Upvotes: 1

Related Questions