如何在typescript接口中表示变量键名?

时间:2016-12-08 18:01:15

标签: typescript interface

interface Items {
    id: Item,
}

id不是可选的,但它具有不同的名称

例如:

let items = {
34433ded : {name: "foo", price: 0.99},
14d433dee : {name: "bar", price: 1.99},
}

2 个答案:

答案 0 :(得分:8)

类似的东西:

interface Item {
    name: string;
    price: string;
}

type Items = { [id: string]: Item }

let items = {
    34433ded : {name: "foo", price: 0.99},
    14d433dee : {name: "bar", price: 1.99},
} as Items;

答案 1 :(得分:6)

您可以通过以下结构实现此目的:

interface Items {
    [key: string]: Item;
}

这是你的fiddle 但请记住,由于JSON规范,您的对象键应该以数字开头,或者如果它们有 - 您必须将它们用引号括起来(就像我在小提琴中所做的那样)