Trying to make calculations with array inside object

Hi there! I'm not a very experienced programmer, but I'm amazed with retool and learning a lot through it and this community. Trying to build a trading journal.

I can make a get RESTQuery request and retrieve data an plot it as chart. I made a dataset from the profit (or loss) generated on each trade.

Now I wanted to calculate my balance after each trade. Let's say my initial balance is $1000.

The data source is now an array with 9 values, I need to have a formula that adds $1000 to the first value of the array, then add the second value to the first, then add the third value to the second and so on. Something like:

New array:
1: 1000 + formatDataAsObject(get_request.data.trades)['profit'] (array first value) = x
2: x + formatDataAsObject(get_request.data.trades)['profit'] (array second value) = x1
3: x1 + formatDataAsObject(get_request.data.trades)['profit'] (array third value) = x2

Can anyone help with that? Thank you!

Hey @loolmp! The JavaScript .reduce function that's on all arrays is made largely for situations like this! It might be worth checking out. You can do something like:

formatDataAsObject(get_request.data.trades)['profit'].reduce((total, tradeProfit) => total + tradeProfit, 1000);

or (slightly smaller)

get_request.data.trades.reduce((total, trade) => total + trade.profit, 1000);

Do either of those work for you?

When you use reduce you pass it a function that takes in the current accumulation (total) and the next item in your array to iterate over (tradeProfit or trade). Then whatever that function returns gets passed on as the accumulation. The 1000 in the end is the custom starting value, otherwise it'll just default to the first item in the array.