我正在尝试运行以下代码:
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]
我做错了什么?
答案 0 :(得分:1)
Packages
函数参数的类型错误。应该是:
reduce()
答案 1 :(得分:0)
这个问题是我的reduce函数中的类型,应该是:
function(a: Datapoint, b: Datapoint)