首页 > 其他分享 >Typescript类型体操 - Absolute

Typescript类型体操 - Absolute

时间:2022-09-06 21:23:32浏览次数:127  
标签:Typescript string number 体操 Test 100 type Absolute

题目

中文

实现一个接收string,number或bigInt类型参数的Absolute类型,返回一个正数字符串。

例如

type Test = -100;
type Result = Absolute<Test>; // expected to be "100"

English

Implement the Absolute type. A type that take string, number or bigint. The output should be a positive number string

For example

type Test = -100;
type Result = Absolute<Test>; // expected to be "100"

答案

type Absolute<T extends number | string | bigint> = T extends `${'+' | '-'}${infer R}`
  ? R
  : (T extends string ? T : Absolute<`${T}`>);

在线演示

标签:Typescript,string,number,体操,Test,100,type,Absolute
From: https://www.cnblogs.com/laggage/p/type-challenge-absolute.html

相关文章

  • Typescript类型体操 - Append to object
    题目中文实现一个为接口添加一个新字段的类型。该类型接收三个参数,返回带有新字段的接口类型。例如:typeTest={id:'1'}typeResult=AppendToObject<Test,'va......
  • Typescript类型体操 - Flatten
    题目中文在这个挑战中,你需要写一个接受数组的类型,并且返回扁平化的数组类型。例如:typeflatten=Flatten<[1,2,[3,4],[[[5]]]]>//[1,2,3,4,5]EnglishIn......
  • Typescript类型体操 - Length of String
    题目中文计算字符串的长度,类似于String#length。EnglishComputethelengthofastringliteral,whichbehaveslikeString#length.答案解法1typeStringToArr......
  • [Typescript Challenges] 15. Medium - Omit
    Implementthebuilt-in Omit<T,K> genericwithoutusingit.Constructsatypebypickingallpropertiesfrom T andthenremoving KForexampleinterfaceT......
  • Typescript类型体操 - Append Argument
    题目中文实现一个泛型AppendArgument<Fn,A>,对于给定的函数类型Fn,以及一个任意类型A,返回一个新的函数G。G拥有Fn的所有参数并在末尾追加类型为A的参数。typeF......
  • Typescript类型体操 - Parameters
    题目中文实现内置的Parameters<T>类型,而不是直接使用它,可参考TypeScript官方文档。例如:constfoo=(arg1:string,arg2:number):void=>{}typeFunctionParams......
  • Typescript类型体操 - ReplaceAll
    答案中文实现ReplaceAll<S,From,To>将一个字符串S中的所有子字符串From替换为To。例如typereplaced=ReplaceAll<'types','',''>//期望是'types'......
  • Typescript类型体操 - Replace
    题目中文实现Replace<S,From,To>将字符串S中的第一个子字符串From替换为To。例如typereplaced=Replace<'typesarefun!','fun','awesome'>//期望是......
  • 2022 年要改掉的 10 个 TypeScript 坏习惯
    2022年要改掉的10个TypeScript坏习惯TypeScript和JavaScript在过去几年中不断进步,我们在过去几十年中建立的一些实践已经过时。有些可能永远没有意义。下面列出......
  • 使用 Node.js 构建基于 Typescript 的命令行界面 (CLI)
    使用Node.js构建基于Typescript的命令行界面(CLI)我们的目标是使用Typescript创建一个基于Node.js的命令行界面(CLI)。此设置包括顶级等待支持和ES模块导入。......