type-challenges - 在线评委收集 TypeScript 类型挑战

Created at: 2020-07-23 22:33:11
Language: TypeScript
License: MIT

TypeScript 类型挑战的集合


英语|简体中文 |日本語 |한국어

介绍

借助 TypeScript 著名的图灵完成类型系统的强大功能

高质量的类型可以帮助提高项目的可维护性,同时避免潜在的错误。

有一堆很棒的类型实用程序库可以增强你在类型上的工作,例如ts-toolbelt实用程序类型SimplyTyped等,你已经可以使用它们。

该项目旨在帮助你更好地了解类型系统的工作原理,编写自己的实用程序,或者只是享受挑战的乐趣。我们还在努力建立一个社区,你可以在其中提出问题并获得你在现实世界中遇到的答案 - 它们可能会成为挑战的一部分!

挑战

单击以下徽章以查看挑战的详细信息。

1
13・你好世界

13
4・挑选 7・只读 11・元组到对象 14・阵列首创 18・元组长度 43・排除 189・期待 268・如果 533・康卡特 898・包含 3057・推 3060・不换档 3312・参数

72
2・获取返回类型 3・省略 8・只读2 9・深度只读 10・元组到并集 12・可链式选项 15・最后的阵列 16・流行音乐 20、承诺 62・类型查找 106・左边修剪 108・修剪 110・大写 116・更换 119・全部更换 191・追加参数 296・排列 298・字符串长度 459・扁平化 527・追加到对象 529・绝对 531・串连 599・合并 612・烤肉串 645・差异 949・任意 1042・永不 1097・依斯尼翁 1130・更换钥匙 1367・删除索引签名 1978・百分比解析器 2070・滴叉烧 2257・减一 2595・按类型挑选 2688・开始 2693・完 2757・部分按键 2759・必填项 2793・可变 2852・省略类型 2946・对象条目 3062・班次 3188・元组到嵌套对象 3192・反转 3196・翻转参数 3243・扁平深度 3326・BEM样式字符串 3376・无序遍历 4179・翻转 4182・斐波那契数列 4260・全部组合 4425・大于 4471・邮编 4484・IsTuple 4499・块 4518・填充 4803・修剪右 5117・无 5140・特朗克 5153・指数 5310・加盟 5317・尾页 5360・独一无二 5821・ map类型 7544・构造元组 8640・号码范围 8767・组合 8987・子序列 9896・获取中间元素 10969・整数 16259・至基元 17973・深度可变

40
6・简单Vue 17・咖喱 1 55・联合到交叉路口 57・必填 59・可选 89・所需钥匙 90・自选键 112・大写单词 114・ Camel 箱 147・C打印f解析器 213・Vue基本道具 223・是任意 270・打字获取 300・字符串到数字 399・元组过滤器 472・元组到枚举对象 545・打印f 553・深物独一无二 651・字符串长度 2 730・联合到元组 847・字符串连接 956・深抠 1290・皮尼亚 1383・ Camel 化 2059・下降字符串 2822・斯普利特 2828・类公钥 2857・必填钥匙 2949・对象来自条目 4037・伊斯回文 5181・可变密钥 5423・交叉路口 6141・二进制到十进制 7258・对象键路径 8804・2和 9155・有效期 9160・分配 9775・大写嵌套对象键 14188・运行长度编码 15260・树路径数组

14
5・获取只读密钥 151・查询字符串解析器 216・切片 274・整数比较器 462・咖喱2 476・总和 517・乘法 697・标签 734・包含范围 741・排序 869・发行工会 925・断言数组索引 6228・JSON 解析器 7561・减法

按标签
#application 12・可链式选项 8767・组合 6・简单Vue 213・Vue基本道具
#arguments 191・追加参数 3196・翻转参数
#array 14・阵列首创 533・康卡特 898・包含 3057・推 3060・不换档 15・最后的阵列 16・流行音乐 20、承诺 459・扁平化 949・任意 3062・班次 3243・扁平深度 4425・大于 5117・无 5153・指数 5310・加盟 5317・尾页 5360・独一无二 8767・组合 17・咖喱 1 2822・斯普利特 5423・交叉路口 8804・2和 9160・分配 9775・大写嵌套对象键 216・切片 734・包含范围 741・排序 925・断言数组索引
#built 4・挑选 7・只读 43・排除 189・期待 3312・参数 2・获取返回类型 3・省略
#deep 9・深度只读 553・深物独一无二 956・深抠
#infer 3312・参数 2・获取返回类型 10・元组到并集 2070・滴叉烧 4260・全部组合 55・联合到交叉路口 57・必填 59・可选 399・元组过滤器 730・联合到元组 2059・下降字符串 734・包含范围 741・排序
#json 6228・JSON 解析器
#map 62・类型查找 5821・ map类型
#math 529・绝对 2257・减一 6141・二进制到十进制 8804・2和 274・整数比较器 476・总和 517・乘法
#object 599・合并 645・差异 2595・按类型挑选 2757・部分按键 2759・必填项 2852・省略类型 2946・对象条目 3188・元组到嵌套对象 3376・无序遍历 4179・翻转 5821・ map类型 2949・对象来自条目 9160・分配 9775・大写嵌套对象键
#object键 7・只读 11・元组到对象 8・只读2 9・深度只读 527・追加到对象 1130・更换钥匙 1367・删除索引签名 2793・可变 7258・对象键路径 5・获取只读密钥
#promise 189・期待 20、承诺
#readonly 7・只读 8・只读2 9・深度只读 2793・可变 17973・深度可变
#recursion 1383・ Camel 化
#split 2822・斯普利特
#string 531・串连 8767・组合 2822・斯普利特 4037・伊斯回文
#template字面 106・左边修剪 108・修剪 110・大写 116・更换 119・全部更换 298・字符串长度 529・绝对 612・烤肉串 1978・百分比解析器 2070・滴叉烧 2688・开始 2693・完 3326・BEM样式字符串 4260・全部组合 4803・修剪右 5140・特朗克 10969・整数 112・大写单词 114・ Camel 箱 147・C打印f解析器 270・打字获取 300・字符串到数字 472・元组到枚举对象 545・打印f 651・字符串长度 2 2059・下降字符串 151・查询字符串解析器 274・整数比较器 476・总和 517・乘法 6228・JSON 解析器
#this 6・简单Vue 1290・皮尼亚
#tuple 18・元组长度 3312・参数 10・元组到并集 3188・元组到嵌套对象 3192・反转 3326・BEM样式字符串 4471・邮编 4484・IsTuple 4499・块 4518・填充 7544・构造元组 399・元组过滤器 472・元组到枚举对象 730・联合到元组 2822・斯普利特 7561・减法
#union 4・挑选 43・排除 3・省略 10・元组到并集 62・类型查找 296・排列 531・串连 1042・永不 1097・依斯尼翁 3326・BEM样式字符串 4260・全部组合 5117・无 8987・子序列 730・联合到元组 1383・ Camel 化 5423・交叉路口
#utils 268・如果 1042・永不 5821・ map类型 55・联合到交叉路口 57・必填 59・可选 89・所需钥匙 90・自选键 223・是任意 270・打字获取 2828・类公钥 2857・必填钥匙 5181・可变密钥 5・获取只读密钥
#vue 6・简单Vue 213・Vue基本道具 1290・皮尼亚
          

通过纯文本

热身 (1)

简易 (13)

中 (72)

硬 (40)

extreme (14)


即将到来的挑战

🔥TypeScript Playground 中开始挑战

⚡️VS Code中开始挑战

推荐阅读材料

官方

文章

会谈

项目/解决方案

待办事项

如何贡献

你可以通过多种方式为该项目做出贡献

  • 分享你的答案/解决方案
  • 提出新的挑战
  • 为现有挑战添加更多测试用例
  • 提供有关如何解决挑战的学习资源或想法
  • 分享你在实际项目中遇到的问题,无论你是否有解决方案 - 社区也会帮助你
  • 通过讨论问题来帮助他人
  • 贡献此项目的基础结构 TODOs.md

只需打开一个问题并选择相应的模板即可。谢谢!

谢谢

这个项目诞生于用@hardfist@MeCKodo解决现实世界的类型问题。非常感谢@sinoon,他们在对这个项目提供早期反馈的同时做出了很多贡献。

灵感来源

贡献

贡献

许可证

MIT