【问题标题】:typescript define an object with n number of key/values打字稿定义一个具有 n 个键/值的对象
【发布时间】:2018-09-23 03:37:25
【问题描述】:

我是 Typescript 的新手,我想为以下 JSON 定义接口:

{  
   "company":"abc inc",
   "logoUrl":"someUrl",
   "phone":"1234567890",
   "branch":{  
      "nyc":{  
         "products":{  
            "asian":{  
               "somekey1":"someValue1",
               "somekey2":"someValue2",
               "somekeyN":"somevalueN"
            },
            "american":{  
               "somekey1":"someValue1",
               "somekey2":"someValue2",
               "somekeyN":"somevalueN"
            }
         }
      },
      "boston":{  
         "products":{  
            "asian":{  
               "somekey1":"somevalue1",
               "somekey2":"somevalue2",
               "somekeyN":"somevalueN"
            },
            "american":{  
               "somekey1":"somevalue1",
               "somekey2":"somevalue2",
               "somekeyN":"somevalueN"
            }
         }
      }
   }
}

这是我当前定义接口的方式,对象asianamerican 可以包含n 个键值。我对定义它的语法感到困惑。有人可以指导我该怎么做。感谢阅读。

interface Products {
    asian: {};
    american: {};
}

interface Configuration {
    company: string;
    phone: string;
    logoUrl: string
    branch: {
      nyc: {
        products: Products;
      };
      boston: {
         products: Products;
      };
    };
}

【问题讨论】:

  • 应该asianamerican 是数组吗?键应该代表什么?
  • @ExplosionPills asianamerican 可以作为数组使用,目前在这个例子中我没有使用它。键可用于表示菜单项和值描述。示例:friedRiceMade with.......

标签: json typescript interface


【解决方案1】:
interface Products {
    asian: {[key: string]: string};
    american: {[key: string]: string};
}

我在这里告诉 typescript,亚洲是一个 key = string 和 value = string 的地图。

【讨论】:

  • 感谢语法,这很有帮助。
猜你喜欢
  • 2020-07-15
  • 2020-12-24
  • 2021-01-30
  • 1970-01-01
  • 2012-10-31
  • 2021-12-09
  • 2020-04-20
  • 2019-10-03
  • 2021-04-02
相关资源
最近更新 更多