代码之家  ›  专栏  ›  技术社区  ›  Anand

如何创建Typescript映射?

  •  0
  • Anand  · 技术社区  · 6 年前

    我想创建地图 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 回复  |  直到 6 年前
        1
  •  3
  •   kingdaro    6 年前

    阵列的 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