[Typescript] 65. Medium - Zip
typescriptzip Medium 65
2023-09-14 09:00:44 时间
In This Challenge, You should implement a type Zip<T, U>
, T and U must be Tuple
type exp = Zip<[1, 2], [true, false]> // expected to be [[1, true], [2, false]]
/* _____________ Your Code Here _____________ */
type Zip<T, U> = T extends [infer F1, ...infer R1]
? U extends [infer F2, ...infer R2]
? [[F1, F2], ...Zip<R1, R2>]
: []
: [];
/* _____________ Test Cases _____________ */
import type { Equal, Expect } from '@type-challenges/utils'
type cases = [
Expect<Equal<Zip<[], []>, []>>,
Expect<Equal<Zip<[1, 2], [true, false]>, [[1, true], [2, false]]>>,
Expect<Equal<Zip<[1, 2, 3], ['1', '2']>, [[1, '1'], [2, '2']]>>,
Expect<Equal<Zip<[], [1, 2, 3]>, []>>,
Expect<Equal<Zip<[[1, 2]], [3]>, [[[1, 2], 3]]>>,
]
相关文章
- 快速掌握 TypeScript 新语法:infer extends
- typescript 多继承_说明类的继承和多态有什么作用
- Typescript教程_安装typescript
- 【TypeScript】中的数组和元组之间的关系
- TypeScript基础知识
- typeScript 全局库 文件声明
- Flow 与 Typescript:哪个更适合你的项目?
- TypeScript方法装饰器应用
- 软件开发入门教程网站之TypeScript Array(数组)
- (一)为什么要使用 TypeScript(二)安装并配置 Ts
- 开发者数量2025年预计破亿,TypeScript受欢迎度飙升:GitHub最新年度报告
- TypeScript入门
- 开心的档之TypeScript 变量声明
- 开心档之TypeScript 变量声明
- 压缩你的Linux:使用Zip源码(zip源码linux)
- zip文件解压Zip文件:Linux下的技巧(linux中解压)
- Linux下利用Zip命令快速打包文件(linux打包命令zip)
- Linux下解压Zip文件的简便方式(zip怎么linux解压)
- Zip加密Linux——安全保护你的数据(zip加密linux)
- 压缩文件的Linux之旅:使用Zip(linux压缩zip)
- Linux安装Zip压缩工具的指南(linux安装zip)
- Linux 下载解压 ZIP 文件的方法(zip解压linux)
- 压缩文件深入挖掘:Linux 系统下解压Zip压缩文件的方法(linux如何解压zip)
- 用Mysql轻松压缩和解压Zip网址(mysql zip网址)
- 轻松搭建MySQL Zip版的环境配置教程(mysql zip版配置)
- MySQL数据库备份使用ZIP文件压缩并设置密码(mysql zip 密码)
- MySQL下载教程如何获取ZIP文件版本(mysql下载是zip)
- MySQL怎样使用Zip文件(mysql zip怎么用)