typescript - 如何为数组 Typescript 编写自定义类型?
问题描述
我有接口类型:
interface IForm {
id: number;
name: string;
}
我需要编写自定义type
来存储这个对象:
let a = ["one": [IForm, IForm, IForm], "two": [IForm, IForm, IForm]]
如何在 TypeScript 中构建它?
结果我需要按键获取所有表格?
let forms = a["one"]; --> [IForm, IForm, IForm]
forms[0]; --> IForm
解决方案
您可以使用映射类型:
type FormList = { [name: string]: IForm[]; };
或者如果"one"
和"two"
是固定属性,只需:
interface FormList {
one: IForm[];
two: IForm[];
}
这个定义意味着属性总是存在的one
。two
如果没有,您可以将它们设为可选:
interface FormList {
one?: IForm[];
two?: IForm[];
}
推荐阅读
- docker - Docker - 从私有网络访问主机
- python - Python 进程 TypeError: no default __reduce__ due to non-trivial __cinit__
- apache-spark - 分配最大 spark.driver.memory
- javascript - Angular12 中的兄弟组件如何监听彼此的事件?
- python - 有没有办法用 Selenium 提取 CSS 选择器?
- java - 将应用程序构建到 jar 后资源未加载
- python - 在括号中切换多行或单行 Vim
- regex - 正则表达式匹配第二行中一组数字中的第二个数字
- composite - Geode Native Client 复合键
- python - 向 JSON 文件添加多个参数