原创 Typescript類型體操 - Chunk

題目 中文 你知道 lodash 嗎? lodash中有一個非常實用的方法Chunk, 讓我們實現它吧. Chunk<T, N>接受兩個泛型參數, 其中 T 是 tuple 類型, N是大於 1 的數字 type exp1 = Chunk<

原创 Typescript類型體操 - GreaterThan

題目 中文 在本挑戰中, 你需要實現 GreaterThan<T, U>, 它的作用像 T > U 你不需要考慮負數 示例: GreaterThan < 2, 1 > //should be true Greater

原创 Typescript類型體操 - IsTuple

題目 中文 實現 IsTuple 類型, 接受一個泛型參數 T 作爲輸入, 並返回 T 是否爲 tuple 類型 示例: type case1 = IsTuple<[number]>; // true type case2 = IsTupl

原创 Typescript類型體操 - Shift

題目 中文 實現類型版本的 Array.shift English Implement the type version of Array.shift For example type Result = Shift<[3, 2, 1]>;

原创 Typescript類型體操 - Flip

題目 中文 實現一個 just-flip-object 類型 示例: Flip<{ a: 'x'; b: 'y'; c: 'z' }>; // {x: 'a', y: 'b', z: 'c'} Flip<{ a: 1; b: 2; c: 3

原创 Typescript類型體操 - FibonacciSequence

題目 中文 實現一個輸入參數爲數字 T 的泛型類型 Fibonacci<T>, 返回 T 對應的斐波那契數 斐波那契數列: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ... 示例: type Re

原创 Typescript類型體操 - InorderTraversal

題目 中文 實現二叉樹的中序遍歷 示例: const tree1 = { val: 1, left: null, right: { val: 2, left: {

原创 Typescript類型體操 - BEM style string

題目 中文 Block,Element,Modifier 方法(BEM)是 CSS 中類的流行命名約定。 例如,塊組件用 btn 表示,依賴於塊的元素用 btn__price 表示,更改塊樣式的修飾符將用 btn--big 或者 btn__

原创 Typescripe類型體操 - FlipArguments

題目 中文 實現 lodash 中_.flip方法的類型版本 FlipArguments<T>類型接收泛型參數 T 並返回一個函數類型, 且此函數類型有和 T 相同的返回類型但其參數的順序是倒過來的 English Implement th

原创 Typescript類型體操 - FlattenDepth

題目 中文 遞歸將數組展開到指定的深度 示例: type a = FlattenDepth<[1, 2, [3, 4], [[[5]]]], 2>; // [1, 2, 3, 4, [5]]. flattern 2 times type b

原创 Typescript類型體操 - ObjectEntries

題目 中文 實現 Object.entries 的類型版本 示例: interface Model { name: string; age: number; locations: string[] | null; }

原创 Typescript類型體操 - TupleToNestedObject

題目 中文 給定一個只包含字符串類型的元組類型T和一個類型 U, 遞歸地構建一個對象. English Given a tuple type T that only contains string type, and a type U, b

原创 Typescript類型體操 - OmitByType

題目 中文 從T中選出一組無法分配給U的屬性 示例: type OmitBoolean = OmitByType< { name: string; count: number; isR

原创 Typescript類型體操 - Reverse

題目 中文 實現類型版本的數組反轉 Array.reverse 例如: type a = Reverse<['a', 'b']>; // ['b', 'a'] type b = Reverse<['a', 'b', 'c']>; // ['

原创 Typescript類型體操 - Mutable

題目 中文 實現一個通用的類型 Mutable<T>,使類型 T 的全部屬性可變(非只讀)。 例如: interface Todo { readonly title: string; readonly description