在Typescript中汇总数据

时间:2017-08-09 09:15:31

标签: typescript

我正在尝试运行以下代码:

interface Datapoint {
    [key: string]: number
}

const props: Array<string> = ["a", "b", "c"]

const data: Array<Datapoint> = ...

const rolled_up: Datapoint = data.reduce(function(a: Array<Datapoint>, b: Array<Datapoint>){
  props.map(function(prop: string){
    a[prop] += b[prop]
  })
  return a
})

我想将我的数据数组汇总到一个Datapoint中,其中字段将添加到给定属性的数组中(props)。

当我尝试编译时,我得到:

error TS7015: Element implicitly has an 'any' type because index expression is not of type 'number'.

就行了

a[prop] += b[prop]

我做错了什么?

2 个答案:

答案 0 :(得分:1)

Packages函数参数的类型错误。应该是:

reduce()

答案 1 :(得分:0)

这个问题是我的reduce函数中的类型,应该是:

function(a: Datapoint, b: Datapoint)