让我们假设我有以下代码:
interface ItemsByKeyInterface {}
interface AType {
key: number;
label: string;
}
const array: AType[] = [
{ key: "a", label: "1" },
{ key: "b", label: "2" }
];
const itemsByKey: ItemsByKeyInterface = array.reduce((total, item) => {
return {
...total,
[item.key]: item
};
}, {});
如何正确定义ItemsByKeyInterface
?
考虑一下AType可以是任何东西(具有key属性的任何东西),并且数组可以具有无限数量和未知数量的项目(考虑到key在该数组中是唯一的)
const p = itemsByKey.b.label;
答案 0 :(得分:3)
您尝试过
interface ItemsByKeyInterface {
[key: number]: Item;
}