查找累计总和 React Typescript

Find Cumulative sum React Typescript

我正在尝试查找名为 csTotCommit 的数组列的累计和。我收到以下关于使用数字索引数组的索引错误。

元素隐式具有 'any' 类型,因为类型 'number' 的表达式不能用于索引类型 'IBasis'。 在类型 'IBasis'.ts(7053) 上找不到参数类型为 'number' 的索引签名 关于这个项目:prev[curr.csId]

我可以做些什么来从我的数组中索引或获取这个累积总和。

这是我的代码:

  const cumSum = (data: IBasis[]) => {
    data.reduce((prev: IBasis, curr: IBasis) => {
      if (curr.csId && curr.rankId) {

      prev[curr.csId]? prev[curr.csId] += curr.csTotCommit : prev[curr.csId] = curr.csTotCommit
    }
  })
  };

这是我的界面:

export interface IBasis {
  rankId: number | null,
  csTrancheId: number | null,
  csId: number | null,
  csTotCommit: number | null,
  csBasisPerUnit: number | null,
}

reduce函数首先输入的是累加结果

    const cumSum = (data: IBasis[]) => {
    data.reduce((total: number, curr: IBasis): number => { 
      if (curr.csId && curr.rankId) {
      
       total +=  curr.csId?? 0;   // '?? 0' will add zero when csId is null
       curr.csTotCommit = total;
     }
      return total; // you always have to return cumulative total
  }, 0) // starting with total as zero.
  };