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

Typescript类型体操 - Reverse

时间:2022-09-23 00:56:47浏览次数:83  
标签:... Typescript Reverse 体操 type infer reverse

题目

中文

实现类型版本的数组反转 Array.reverse

例如:

type a = Reverse<['a', 'b']>; // ['b', 'a']
type b = Reverse<['a', 'b', 'c']>; // ['c', 'b', 'a']

English

Implement the type version of Array.reverse

For example:

type a = Reverse<['a', 'b']>; // ['b', 'a']
type b = Reverse<['a', 'b', 'c']>; // ['c', 'b', 'a']

答案

type Reverse<T extends any[]> = T extends [infer L, ...infer R]
    ? [...Reverse<R>, L]
    : T;

在线演示

标签:...,Typescript,Reverse,体操,type,infer,reverse
From: https://www.cnblogs.com/laggage/p/type-challenge-reverse.html

相关文章

  • Typescript类型体操 - TupleToNestedObject
    题目中文给定一个只包含字符串类型的元组类型T和一个类型U,递归地构建一个对象.EnglishGivenatupletypeTthatonlycontainsstringtype,andatypeU,build......
  • Typescript类型体操 - ObjectEntries
    题目中文实现Object.entries的类型版本示例:interfaceModel{name:string;age:number;locations:string[]|null;}typemodelEntries=Objec......
  • TypeScript在vue3中的应用(Ref和ComputedRef的应用)
    首先,我承认,我vue3和ts都不是很熟。然后在使用过程中就发现了这样一个情况。constlist:{isBoob:boolean;count:number;}[]=computed(()=>{letarr:number[]......
  • Typescript学习之路(2) - 类型简述
    什么是强类型语言/弱类型语言?强类型语言老式定义:在强类型语言中,当一个对象从调用函数传递到被调用函数时,其类型必须与被调用函数中声明的类型兼容。A(){B(x)}B......
  • Typescript学习之路(3) - 基础数据类型介绍
    安装TSnpmi-gtypescriptTips:因为使用的命令是tsc,这里安装的时候好多人都错误写成了 npmi-gtsc❎,结果在使用的时候就会被提示,安装的不对,要重新安装。TS转换JS......
  • 第一章:TypeScript快速入门
    一、TypeScript开发环境搭建1、TypeScript有什么用编译时的强类型模块化已有的类库可以很方便的使用2、下载Node.jsnode.js官网:Node.js(nodejs.org)......
  • Typescript类型体操 - Mutable
    题目中文实现一个通用的类型Mutable<T>,使类型T的全部属性可变(非只读)。例如:interfaceTodo{readonlytitle:string;readonlydescription:string;......
  • TypeScript 函数重载
    函数参数的类型可以使用联合类型?,让我们传递的值可以有多种类型的情况。下面是写的一个简单函数,参数x可以有number、string两种类型,返回值也是。functionreverse(x:......
  • Typescript类型体操 - PartialRequired
    题目中文实现一个通用的RequiredByKeys<T,K>,它接收两个类型参数T和K。K指定应设为必选的T的属性集。当没有提供K时,它就和普通的Required<T>一样使所有的属性成为必选的......
  • TypeScript(一)基本使用
    一:导入TypeScriptnpmitypescript或者npmitypescript-g(全局导入) 二:编译Ts文件为Js(道理跟Sass转Css一样)在当前文件目录终端中输入:tsc文件名称.ts然后就......