typescript - 如何获取数组项的类型
问题描述
如果我有从 node_module 获得的自定义数组的类型(这意味着我无法更改它)
export type CustomArray = Array<
{
a: string;
b: string;
}
>
定义此数组项之一的类型的正确方法是什么?
到目前为止,我发现
type CustomArrayItem = CustomArray[0]
或者
type CustomArrayItem = CustomArray[number]
有效,但我不确定这是否正确,因为我在文档中找不到任何关于它的信息。
解决方案
正如您所发现的,两者都运行良好。我会使用CustomArray[number]
,因为它基本上说“如果我用任何数字索引,CustomArray[0]
给我类型”,而说“如果我用 0 索引,给我类型”。两者看似相似,但如果CustomArray
是元组类型,结果实际上可能不同:
export type CustomArray = [string, ...number[]];
type I0 = CustomArray[0] // string
type I1 = CustomArray[1] // number
type INumber = CustomArray[number] // string | number
推荐阅读
- python - 如何使用分类变量和时间序列制作水平折线图?
- java - 在回调中使用“throws”关键字
- python - 通过共享对象的 __dict__ 属性创建对象视图
- javascript - 未捕获的类型错误:无法读取 javascript 中未定义的属性“样式”
- r - 聚合一列字符串值
- javascript - 如何在调用任何构造函数之前定义所有自定义元素?
- prestashop-1.7 - 如何更改 prestashop 1.7.6.0 中每个项目的文本颜色?
- r - 我在 csv 中有时间序列数据,其中包含重复时间和缺失时间。是否可以将其转换为 xts 对象?
- javascript - 是否可以将内部 Div Click 绑定到外部 Div?
- java - 如何在没有java内存异常的情况下创建一个非常大的矩阵0和1