typescript - Typescript 可以确保数组具有重复的类型模式吗?例如 [string, number, string, number, ....(forever)]
问题描述
我有一个函数,我想确保它接受一个字符串,后跟一个数字。并且可选地,更多的字符串数字对。所以就像一个元组,但“无限”次:
const fn = (...args: [string, number] |
[string, number, string, number] |
[string, number, string, number, string, number] |
[string, number, string, number, string, number, string, number] | ...etc etc) => {}
等等
另一种伪类型构造:
type Pair = [string, number, ...Pair];
TypeScript 可以做到这一点吗?
编辑这看起来应该工作,但没有。TypeScript 似乎无法正确推断出对的顺序。
type Pair = [string, number, ...Pair[]];
解决方案
我相信是这样。您将类型定义为
type RecurringTuple = [string, number, RecurringTuple[]];
const fn = (...args: RecurringTuple) => {}
没有测试,但是在这个链接中发现了一个类似的案例。
推荐阅读
- csv - 门:使用 groovy 将门导出到 csv 文件
- python - 为一段不简单的代码创建一个while循环
- windows - 从 Docker 访问 TFS 代码
- django - Django - 强制表单保存到特定模型
- jquery - 将 css 函数作为 jquery.css() 值参数传递
- python - 在每个空格中插入 \n 以获取多个字符串 python
- laravel - 在控制器的构造函数中指定中间件
- vba - VBA-Excel CTRL 查找
- javascript - React-Native how to update Flat List updating item dynamically?
- svg - 是否可以在 CSS 中指定 viewBox?