类型体操
在线刷 Type Challenges, 共 190 道题,浏览器内实时 TypeScript 类型检查。
🔥 Warm 1🟢 Easy 13🟡 Medium 103🟠 Hard 56🔴 Extreme 17
0 / 190 已通过
#2Medium
Get Return Type
获取函数返回类型
#infer#built-in
#3Medium
Omit
实现 Omit
#union#built-in
#4Easy
Pick
实现 Pick
#union#built-in
#5Extreme
Get Readonly Keys
获取只读属性
#utils#object-keys
#6Hard
Simple Vue
简单的 Vue 类型
#this#application#vue
#7Easy
Readonly
对象属性只读
#built-in#readonly#object-keys
#8Medium
Readonly 2
对象部分属性只读
#readonly#object-keys
#9Medium
Deep Readonly
对象属性只读(递归)
#readonly#object-keys#deep
#10Medium
Tuple to Union
元组转合集
#infer#tuple#union
#11Easy
Tuple to Object
元组转换为对象
#object-keys
#12Medium
Chainable Options
可串联构造器
#application
#13Warm
Hello World
#14Easy
First of Array
第一个元素
#array
#15Medium
Last of Array
最后一个元素
#array
#16Medium
Pop
排除最后一项
#array
#17Hard
Currying 1
柯里化 1
#array
#18Easy
Length of Tuple
获取元组长度
#tuple
#20Medium
Promise.all
#array#promise
#43Easy
Exclude
实现 Exclude
#built-in#union
#55Hard
Union to Intersection
联合类型转化为交叉类型
#utils#infer
#57Hard
Get Required
获得必需的属性
#utils#infer
#59Hard
Get Optional
获得可选属性
#utils#infer
#62Medium
Type Lookup
查找类型
#union#map
#89Hard
Required Keys
必需的键
#utils
#90Hard
Optional Keys
可选类型的键
#utils
#106Medium
Trim Left
去除左侧空白
#template-literal
#108Medium
Trim
去除两端空白字符
#template-literal
#110Medium
Capitalize
#template-literal
#112Hard
Capitalize Words
#template-literal
#114Hard
CamelCase
#template-literal
#116Medium
Replace
#template-literal
#119Medium
ReplaceAll
#template-literal
#147Hard
C-printf Parser
#template-literal
#151Extreme
Query String Parser
#template-literal
#189Easy
Awaited
#promise#built-in
#191Medium
Append Argument
追加参数
#arguments
#213Hard
Vue Basic Props
#vue#application
#216Extreme
Slice
#array
#223Hard
IsAny
#utils
#268Easy
If
#utils
#270Hard
Typed Get
#utils#template-literal
#274Extreme
Integers Comparator
#template-literal#math
#296Medium
Permutation
#union
#298Medium
Length of String
#template-literal
#300Hard
String to Number
#template-literal
#399Hard
Tuple Filter
#tuple#infer
#459Medium
Flatten
#array
#462Extreme
Currying 2
柯里化 2
#472Hard
Tuple to Enum Object
#tuple#template-literal
#476Extreme
Sum
#math#template-literal
#517Extreme
Multiply
#math#template-literal
#527Medium
Append to object
#object-keys
#529Medium
Absolute
#math#template-literal
#531Medium
String to Union
#union#string
#533Easy
Concat
#array
#545Hard
printf
#template-literal
#553Hard
Deep object to unique
#deep
#599Medium
Merge
#object
#612Medium
KebabCase
#template-literal
#645Medium
Diff
#object
#651Hard
Length of String 2
#template-literal
#697Extreme
Tag
#730Hard
Union to Tuple
#union#tuple#infer
#734Extreme
Inclusive Range
#infer#array
#741Extreme
Sort
#infer#array
#847Hard
String Join
#869Extreme
DistributeUnions
#898Easy
Includes
#array
#925Extreme
Assert Array Index
#array
#949Medium
AnyOf
#array
#956Hard
DeepPick
#deep
#1042Medium
IsNever
#union#utils
#1097Medium
IsUnion
#union
#1130Medium
ReplaceKeys
#object-keys
#1290Hard
Pinia
#this#vue
#1367Medium
Remove Index Signature
#object-keys
#1383Hard
Camelize
#union#recursion
#1978Medium
Percentage Parser
#template-literal
#2059Hard
Drop String
#template-literal#infer
#2070Medium
Drop Char
#template-literal#infer
#2257Medium
MinusOne
#math
#2595Medium
PickByType
#object
#2688Medium
StartsWith
#template-literal
#2693Medium
EndsWith
#template-literal
#2757Medium
PartialByKeys
#object
#2759Medium
RequiredByKeys
#object
#2793Medium
Mutable
#readonly#object-keys
#2822Hard
Split
#string#split#array
#2828Hard
ClassPublicKeys
#utils
#2852Medium
OmitByType
#object
#2857Hard
IsRequiredKey
#utils
#2946Medium
ObjectEntries
#object
#2949Hard
ObjectFromEntries
#object
#3057Easy
Push
#array
#3060Easy
Unshift
#array
#3062Medium
Shift
#array
#3188Medium
Tuple to Nested Object
#object#tuple
#3192Medium
Reverse
#tuple
#3196Medium
Flip Arguments
#arguments
#3243Medium
FlattenDepth
#array
#3312Easy
Parameters
#infer#tuple#built-in
#3326Medium
BEM style string
#template-literal#union#tuple
#3376Hard
InorderTraversal
#object
#4037Hard
IsPalindrome
#string
#4179Medium
Flip
#object
#4182Medium
Fibonacci Sequence
斐波那契序列
#4260Medium
AllCombinations
#template-literal#infer#union
#4425Medium
Greater Than
#array
#4471Medium
Zip
#tuple
#4484Medium
IsTuple
#tuple
#4499Medium
Chunk
#tuple
#4518Medium
Fill
#tuple
#4803Medium
Trim Right
#template-literal
#5117Medium
Without
去除数组指定元素
#union#array
#5140Medium
Trunc
#template-literal
#5153Medium
IndexOf
#array
#5181Hard
Mutable Keys
#utils
#5310Medium
Join
#array
#5317Medium
LastIndexOf
LastIndexOf
#array
#5360Medium
Unique
Unique
#array
#5423Hard
Intersection
#union#array
#5821Medium
MapTypes
#map#object#utils
#6141Hard
Binary to Decimal
#math
#6228Extreme
JSON Parser
#7258Hard
Object Key Paths
#object-keys
#7544Medium
Construct Tuple
#tuple
#7561Extreme
Subtract
#tuple
#8640Medium
Number Range
#8767Medium
Combination
#array#application#string
#8804Hard
Two Sum
两数之和
#array#math
#8987Medium
Subsequence
#union
#9142Medium
CheckRepeatedChars
CheckRepeatedChars
#union#string
#9155Hard
ValidDate
#9160Hard
Assign
#object#array
#9286Medium
FirstUniqueCharIndex
#string
#9384Hard
Maximum
#array
#9616Medium
Parse URL Params
#infer#string#template-literal
#9775Hard
Capitalize Nest Object Keys
#object#array
#9896Medium
GetMiddleElement
获取数组的中间元素
#9898Medium
Appear only once
找出目标数组中只出现过一次的元素
#9989Medium
Count Element Number To Object
统计数组中的元素个数
#10969Medium
Integer
整数
#template-literal
#13580Hard
Replace Union
#14080Hard
FizzBuzz
#array#math#infer
#14188Hard
Run-length encoding
#15260Hard
Tree path array
#16259Medium
ToPrimitive
将类型为字面类型(标签类型)的属性,转换为基本类型。
#17973Medium
DeepMutable
#readonly#deep
#18142Medium
All
All
#array
#18220Medium
Filter
#array#filter
#19458Hard
SnakeCase
#template-literal#string
#19749Medium
IsEqual
#utils
#21104Medium
FindAll
#template-literal#string
#21106Medium
Combination key type
组合键类型 Combination key type
#21220Medium
Permutations of Tuple
#union#tuple#conditional type
#25170Medium
Replace First
#25270Medium
Transpose
#array#math
#25747Hard
IsNegativeNumber
#number#template-literal
#26401Medium
JSON Schema to TypeScript
#JSON
#27133Medium
Square
#tuple#array#math
#27152Medium
Triangular number
#tuple#array#math
#27862Medium
CartesianProduct
#union
#27932Medium
MergeAll
#object#array#union
#27958Medium
CheckRepeatedTuple
CheckRepeatedTuple
#28143Hard
OptionalUndefined
#28333Medium
Public Type
#object-keys
#29650Medium
ExtractToObject
#object
#29785Medium
Deep Omit
#omit object-keys deep
#30178Hard
Unique Items
#tuple#application#cif
#30301Medium
IsOdd
#string
#30430Medium
Tower of hanoi
#array
#30575Hard
BitwiseXOR
#30958Medium
Pascal's triangle
#array#math
#30970Medium
IsFixedStringLiteralType
#31447Extreme
CountReversePairs
#31797Hard
Sudoku
#union#array#tuple
#31824Hard
Length of String 3
#31997Extreme
Parameter Intersection
#parameters#array#variadic
#32427Hard
Unbox
#utils#promise#function
#32532Hard
Binary Addition
#recursion#array
#33345Extreme
Dynamic Route
#33763Hard
Union to Object from key
#34007Medium
Compare Array Length
#recursion#array
#34286Hard
Take Elements
#array
#34857Medium
Defined Partial Record
#35045Medium
Longest Common Prefix
#35191Medium
Trace
#35252Medium
IsAlphabet
#35314Hard
Valid Sudoku
#array#math#game
#35991Medium
MyUppercase
题库来自 Type Challenges (MIT),共 190 题 · utils 5b3ab5af