如何创建Typescript地图?

时间:2018-04-06 12:56:59

标签: typescript

我想创建一个地图total,可以像total['cashBalance'].sum

一样使用

基于现有数据

const fields = ['cashBalance', 'openTradeEquity', 'initialMargin', 'optionValue', 'treasuries', 'margin'];    

我正在尝试如下,但它无法正常工作。

const total: Map<string, {sum: number}> = fields.map(f => [f, {sum: 0}]) ;

当然,我没有正确的语法...有谁可以帮助我这个? 谢谢 阿南德

1 个答案:

答案 0 :(得分:2)

数组的map函数从现有数组创建一个新数组,但不创建地图。在这里,您想要使用Map对象。循环遍历fields中的所有项目,并为每个项目添加一个项目。

const total = new Map<string, { sum: number }>()
for (const field of fields) {
  total.set(field, { sum: 0 })
}

total.get('cashBalance').sum // 0