如何在TypeScript中实现简单的泛型数组?
如何在TypeScript中实现简单的泛型数组?
你提供的代码存在一处问题:indexedTypes类型里的T未被声明为泛型参数,TypeScript会将其识别为未定义的类型。以下是修正后的实现方案:
首先定义带泛型的索引类型接口:
interface IndexedType<T> { [id: string]: T }
接着把数组类型也声明为泛型,以此指定数组内每个IndexedType元素对应的具体类型:
type IndexedTypes<T> = Array<IndexedType<T>>
用法示例
比如创建存储数字类型值的索引对象数组:
const numArray: IndexedTypes<number> = [ { "id": 1001 }, { "count": 20 } ] // 存储字符串类型的示例 const strArray: IndexedTypes<string> = [ { "username": "jamie" }, { "role": "admin" } ]
通过这种方式就能灵活生成不同值类型的索引对象数组。
内容的提问来源于stack exchange,提问作者Jamie Marshall
相关产品推荐
相关产品推荐

