Я думаю, что с вашим годовым вычислением что-то не так, должно ли оно быть consumption + (years*increase*consumption)
?
. Вы можете сопоставить массив 0-numOfPeriodsCost с годовыми затратами и уменьшить его до массива, содержащего затраты за этот год.и всего до этого года.Затем отобразите эти значения в объекты, содержащие итоги и год:
const numOfPeriodsCost = 10;
const annualElecIncrease = 0.1;
const consumptionA = 520;
console.log(
[...new Array(numOfPeriodsCost)]
.map(
(_, period) =>
consumptionA +
period * annualElecIncrease * consumptionA,
)
.reduce(
([sum, result], item) => [
sum + item,
result.concat([[sum + item, item]]),
],
[0, []],
)[1]
.map(([total, year]) => ({ total, year })),
);