分享
三行代码  ›  专栏  ›  技术社区  ›  user1283776

[标签:字符串]的语法:作为参数接收时的数字类型? - Syntax for [label: string]: number type when received as parameter?

  •  0
  • user1283776  · 技术社区  · 3 月前

    {
      13123-1231: 2
      2342-343: 1
    }
    

    它有接口:

    interface IPriceMap {
        [productId: string]: number;
    }
    

    public async updatePrices(quotationId: Id, priceMap: ?) {
        ...
    }
    
    1 回复  |  直到 3 月前
        1
  •  1
  •   T.J. Crowder    3 月前

    不清楚你为什么不能用 IPriceMap

    public async updatePrices(quotationId: Id, priceMap: {[productId: string]: number}) {
        // ...
    }
    

    或者只是为它声明一个类型:

    // Stand-in for IPriceMap
    declare type MyPriceMap = {
      [productId: string]: number
    }
    
    class X {
        public async updatePrices(quotationId: Id, priceMap: MyPriceMap) {
            // ...
        }
    }
    

    iPriceMap地图

    或者,当然, any

    public async updatePrices(quotationId: Id, priceMap: any) {
        // ...
    }
    

    …这至少有一个优势,如果